🌗 299. 猜数字游戏
2022年10月10日
- algorithm
🌗 299. 猜数字游戏
难度: 🌗
问题描述
解法
class Solution {
public String getHint(String secret, String guess) {
// 思路:
// 需要先找出公牛,然后计算剩余的字符判断是否存在奶牛
// 将其中一个字符串中的字符放入 桶 中 - 充当 map 的作用
char[] s = secret.toCharArray();
char[] g = guess.toCharArray();
int len = s.length;
int a = 0;
for(int i = 0; i < len; i ++) {
if(s[i] == g[i]) {
a ++;
s[i] = '#';
g[i] = '#';
}
}
int b = 0;
int[] array = new int[10];
for(int i = 0; i < len; i ++) {
char c = s[i];
if(c == '#') {
continue;
}
int index = c - '0';
array[index] ++;
}
for(int j = 0; j < len; j ++) {
char c = g[j];
if(c == '#') {
continue;
}
int index = c - '0';
if(array[index] == 0) {
// 说明该字符在 secret 中不存在
continue;
}
b ++;
array[index] --;
}
return "" + a + "A" + b + "B";
}
}