【LeetCode】292. Nim Game

292. Nim Game

Problem

你和朋友在玩一个游戏,桌上有一堆石头,你俩每次轮流拿走1到3个石头,拿走最后剩余石头的就是赢家。你先开始拿。
你俩都很聪明,会选最佳策略。写一个方法,初始有多少个石头,你会赢。

Example

输入:4
输出:false
解释:不管你拿1,2,3个石头,剩下3,2,1个石头都会被朋友一次性拿光,所以输。

Solution

由例子可知,只剩4个的时候拿的人必输。
剩5个,你拿1个,朋友必输。
剩6个,你拿2个,朋友必输。
剩7个,你拿三个,朋友必输。
剩8个,不管拿几个,朋友都能让剩下的石头到达4个,你必输
所以规律就是,石头个数为4的倍数的时候你去拿必输,所以不是4的倍数才能赢

class Solution {
    public boolean canWinNim(int n) {
        return n % 4 != 0;
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值