您的位置:首页 > 其它

leetcode -- Nim Game -- 简单要看

2015-12-03 22:40 375 查看
https://leetcode.com/problems/nim-game/

自己尝试了dp,发现都超时。于是觉得有更好的办法。只要是4的倍数就肯定输,否则赢。

dp code:

d = [1,1,1,-1]

i = 4
while i < n:
tmp = max(-d[i - 1], -d[i - 2], -d[i - 3])
d.append(tmp)
i += 1
if d[n-1] == 1:
return True
else:
return False


right code:

class Solution(object):
def canWinNim(self, n):
"""
:type n: int
:rtype: bool
"""

if n % 4 == 0:
return False
else:
return True


更简单:

return n % 4 > 0
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: