You are playing the following Nim Game with your friend:
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.
First find the transfer equation: If (n < 4), then f(n) = True. If (f(n-1) & f(n-2) & f(n-3) == 1), then f(n) = False. If (f(n-1) | f(n-2) | f(n-3) == 0), then f(n) = 1.
So if (n % 4 == 0), then f(n) = 0, else f(n) = 1.
class Solution:
def canWinNim(self, n: int) -> bool:
return n % 4 > 0