All Downloads are FREE. Search and download functionalities are using the official Maven repository.

g0201_0300.s0292_nim_game.Solution Maven / Gradle / Ivy

There is a newer version: 1.38
Show newest version
package g0201_0300.s0292_nim_game;

// #Easy #Math #Game_Theory #Brainteaser #2022_07_06_Time_0_ms_(100.00%)_Space_40.6_MB_(71.00%)

/**
 * 292 - Nim Game\.
 *
 * Easy
 *
 * You are playing the following Nim Game with your friend:
 *
 * *   Initially, there is a heap of stones on the table.
 * *   You and your friend will alternate taking turns, and **you go first**.
 * *   On each turn, the person whose turn it is will remove 1 to 3 stones from the heap.
 * *   The one who removes the last stone is the winner.
 *
 * Given `n`, the number of stones in the heap, return `true` _if you can win the game assuming both you and your friend play optimally, otherwise return_ `false`.
 *
 * **Example 1:**
 *
 * **Input:** n = 4
 *
 * **Output:** false
 *
 * **Explanation:**
 *
 *     These are the possible outcomes:
 *     1. You remove 1 stone. Your friend removes 3 stones, including the last stone. Your friend wins.
 *     2. You remove 2 stones. Your friend removes 2 stones, including the last stone. Your friend wins.
 *     3. You remove 3 stones. Your friend removes the last stone. Your friend wins.
 *     In all outcomes, your friend wins. 
 *
 * **Example 2:**
 *
 * **Input:** n = 1
 *
 * **Output:** true 
 *
 * **Example 3:**
 *
 * **Input:** n = 2
 *
 * **Output:** true 
 *
 * **Constraints:**
 *
 * *   1 <= n <= 231 - 1
**/
public class Solution {
    public boolean canWinNim(int n) {
        return n % 4 != 0;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy