先上题目
讲一下思路吧:哪个数选不出小于自己的可以整除的正除数了?是不是只有“1”,所以其实就是谁拿到“1”谁输的游戏,所以判断能不能拿到“1”很重要。先手情况下,拿去比N小,且被N整除的正整数。当N为奇数时,我 只能拿掉奇数(奇数不能整除偶数,双方都不会出错情况下),所以比自己小的奇数时多少?最佳情况下对手不可能给你拿到偶数,所以你永远只能拿奇数,知到对方拿到“2”,你就遇到“1”了。当N为偶数时,我是不是可以拿掉一个奇数(1)或偶数,剩下“1”给对手。(或者找结果规律)
代码部分(0ms 100%)
class Solution {
public boolean divisorGame(int N) {
return N % 2 == 0;
}
}