标签:比较 用户 problems https i++ guess 说明 public ==
在一次遍历中进行逐位比较,可以完成的事情有两件:① 两者相同,A++ ② 用一个整型数组作为缓存,当两者不同时,将秘密数字和猜测数字分别缓存,秘密数字的计数位如果为负,说明之前缓存过猜测数字,反之,之前缓存过秘密数字,B++。
// 执行用时: 8 ms , 在所有 Java 提交中击败了 41.03% 的用户
// 内存消耗: 38.7 MB , 在所有 Java 提交中击败了 83.46% 的用户
class Solution {
public String getHint(String secret, String guess) {
int[] cache = new int[10];
int a = 0, b = 0, len = secret.length();
for(int i = 0; i < len; i++){
char sec = secret.charAt(i);
char gue = guess.charAt(i);
if(sec == gue){
a++;
} else {
if(cache[sec - ‘0‘]++ < 0) b++;
if(cache[gue - ‘0‘]-- > 0) b++;
}
}
return Integer.toString(a) + "A" + Integer.toString(b) + "B";
}
}
标签:比较 用户 problems https i++ guess 说明 public ==
原文地址:https://www.cnblogs.com/SuPhXLiN/p/13868160.html