LeetCode 292. Nim 游戏
https://leetcode-cn.com/problems/nim-game/
难度简单
你和你的朋友,两个人一起玩 Nim 游戏:桌子上有一堆石头,每次你们轮流拿掉 1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。你作为先手。
你们是聪明人,每一步都是最优解。 编写一个函数,来判断你是否可以在给定石头数量的情况下赢得游戏。
class Solution:
def canWinNim(self, n: int) -> bool:
return n % 4 != 0
我们可以这么理解, 先将所有的石头分成四个一组, 四个一组的, 然后从开始拿, 如果不是整除的情况, 我只要拿每组剩余的就好了, 让对手从新的一组中开始拿, 这样我总是拿去一组中最后的几个, 最终是我拿完最后的一个石头.