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";
}
}