# 5.13 一行代码就能解决的算法题
本文对应的力扣题目:
# 5.13.1 Nim 游戏
我们发现只要踩到 4 的倍数,就落入了圈套,永远逃不出 4 的倍数,而且一定会输。所以这道题的解法非常简单:
bool canWinNim(int n) {
// 如果上来就踩到 4 的倍数,那就认输吧
// 否则,可以把对方控制在 4 的倍数,必胜
return n % 4 != 0;
}
1
2
3
4
5
2
3
4
5
# 5.13.2 石子游戏
先手必胜:
boolean stoneGame(int[] piles) {
return true;
}
1
2
3
2
3
# 5.13.3 电灯开关问题
int bulbSwitch(int n) {
return (int)Math.sqrt(n);
}
1
2
3
2
3
← LRU算法 不含重复字符的最长子字符串 →