# Solving Leetcode Interviews in Seconds with AI: Nim Game


	# Introduction
	In this blog post, we will explore how to solve the LeetCode problem "292" using AI. LeetCode is a popular platform for preparing for coding interviews, and with the help of AI tools like [Chatmagic](https://www.chatmagic.app), we can generate solutions quickly and efficiently - helping you pass the interviews and get the job offer without having to study for months.

	# Problem Statement
	> 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  

	# Explanation
	*   **Winning Strategy:** The core idea is to realize that if you can leave your opponent with a number of stones that is a multiple of 4, you are guaranteed to win.
*   **Base Cases:** If the number of stones is 1, 2, or 3, you can win directly by taking all the stones.
*   **Modulo Operator:** Use the modulo operator (%) to check if `n` is divisible by 4. If it is, you lose; otherwise, you win.

*   **Runtime Complexity:** O(1), **Storage Complexity:** O(1)

	
	# Code
	```python
	def canWinNim(n: int) -> bool:
    """
    Determines if you can win the Nim game given the number of stones.

    Args:
        n: The number of stones in the heap.

    Returns:
        True if you can win the game, False otherwise.
    """
    return n % 4 != 0
	```
			
