# 5.13 一行代码就能解决的算法题

本文对应的力扣题目:

292.Nim游戏

877.石子游戏

319.灯泡开关

# 5.13.1 Nim 游戏

我们发现只要踩到 4 的倍数,就落入了圈套,永远逃不出 4 的倍数,而且一定会输。所以这道题的解法非常简单:

bool canWinNim(int n) {
    // 如果上来就踩到 4 的倍数,那就认输吧
    // 否则,可以把对方控制在 4 的倍数,必胜
    return n % 4 != 0;
}
1
2
3
4
5

# 5.13.2 石子游戏

先手必胜:

boolean stoneGame(int[] piles) {
    return true;
}
1
2
3

# 5.13.3 电灯开关问题

int bulbSwitch(int n) {
    return (int)Math.sqrt(n);
}
1
2
3
最后更新时间: 6/20/2022, 10:48:50 PM