Nim游戏(简单)
2020年6月14日
题目来源:力扣
- 思维
一开始真的当尼姆游戏来解,怎么想都不对,后面看了题解,我傻了,只要是4的倍数,每次就都会输。
class Solution {
public boolean canWinNim(int n) {
return n%4!=0;
}
}
猜数字游戏(简单)
2020年6月14日
题目来源:力扣
解题
两个字符串长度相同,可以通过遍历每一位是否相等来确定公牛,也就是A的个数
母牛则可以用抵消的方式来判断
用示例2来做演示
首先遍历,第一个位置,发现不相等,那么在数组上的nums[s]+1,nums[g]-1
判断第二个位置,发现相等
判断第三个位置,不相等,那么看一下nums[s]这个位置(也就是nums[2])没有数,那么填进去;nums[g](也就是nums[1]里面有个1)。因为我们刚刚是nums[s]++,nums[g]–。所以现在nums[g]大于0的话,就说明有个s等于g,那么母牛B加一。nums[s]++,nums[g]–
按这个规律,继续找下面的数
class Solution {
public String getHint(String secret, String guess) {
int a=0,b=0;
int[] nums=new int[10];
for(int i=0;i<secret.length();i++){
int s=secret.charAt(i)-'0';
int g=guess.charAt(i)-'0';
if(s==g){
a++;
}else{
if(nums[s]<0) b++;
if(nums[g]>0) b++;
nums[s]++;
nums[g]--;
}
}
return a+"A"+b+"B";
}
}