LeetCode题解——无分类篇

LeetCode题解——无分类篇

LC292 Nim游戏

你和你的朋友,两个人一起玩 Nim 游戏:

桌子上有一堆石头。
你们轮流进行自己的回合,你作为先手。
每一回合,轮到的人拿掉 1 - 3 块石头。
拿掉最后一块石头的人就是获胜者。
假设你们每一步都是最优解。请编写一个函数,来判断你是否可以在给定石头数量为 n 的情况下赢得游戏。如果可以赢,返回 true;否则,返回 false 。

class Solution(object):
    def canWinNim(self, n):
        """
        :type n: int
        :rtype: bool
        """
        """
        面对4的整数倍的人永远无法翻身,你拿N根对手就会拿4-N根,
        保证每回合共减4根,你永远对面4倍数,直到4. 
        相反,如果最开始不是4倍数,你可以拿掉刚好剩下4倍数根,让他永远面对4倍数。
        """
        return not n%4 == 0

LeetCode题解——无分类篇

上一篇:bugku web 本地管理员


下一篇:聊一聊关于MySQL的Count(*),统计数据库表中的记录数