leetcode-Nim 游戏

292. Nim 游戏

题解:

Nim 游戏是一个数学问题,也被称为尼姆游戏。在这个问题中,两个人轮流从一堆石头中取走 1 - 3 块石头,谁最后取走最后一块石头,谁就获胜。如果给定的石头数量是 4 的倍数,那么先手的人就会输,否则就会赢。这是因为,无论先手的人怎么取,后手的人都可以采取最优策略,使得每次取走的石头数量总和为 4,这样就能保证最后剩下的石头数量是 4 的倍数。所以,我们只需要判断给定的石头数量是否是 4 的倍数即可。

class Solution:
    def canWinNim(self, n: int) -> bool:
        return n % 4 != 0

你可能感兴趣的:(leetcode)