题解 | Nim游戏
Nim游戏
https://www.nowcoder.com/practice/bb574ea90ed2495680fef88d59238231
1.解题思路
当n为1、2、3时,只要先手取光石头,即可获胜,所以先手必胜。当n为4时,不管先手取1个、2个还是3个石头,剩下的石头都可以被后手取完,所以先手必败。当n为5、6、7时,只要取对应的石头,剩下的石头都可以变成4,从而后手必败,即先手必胜。同样,当n取8时,无论先手怎么取,留给后手的一定是5个、6个或7个石头,所以后手必胜,先手必败。依此类推先手取4,8,12,16,……时,一定会输给后手。
图解展示:
2.代码实现
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param n int整型
# @return bool布尔型
#
class Solution:
def NimGame(self , n: int) -> bool:
# write code here
return n%4
海康威视公司福利 1407人发布
查看21道真题和解析