1025.除数博弈
作者:互联网
class Solution {
public boolean divisorGame(int n) {
//默认值为false
boolean[] flag = new boolean[n + 5];
//N为1时先手必输,N为2时先手必胜(最佳状态)
flag[1] = false;
flag[2] = true;
for (int i = 3; i <= n; i ++) {
for (int j = 1; j < i; j ++) {
//i是N,j是x
//先手的人要选择的数是j,用i-j替换黑板上的数字
//对于后手的人来说,黑板上是i-j,如果flag[i-j]是false,说明后手的人输了
if ((i % j) == 0 && !flag[i - j]) {
flag[i] = true;
break;
}
}
}
return flag[n];
}
}
标签:1025,博弈,int,flag,boolean,时先手,false,true,除数 来源: https://blog.csdn.net/qq_43806430/article/details/122671970