299. Bulls and Cows

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class Solution {
public String getHint(String secret, String guess) {
int bulls = 0, cows = 0;
int[] countMapA = new int[10], countMapB = new int[10];
for (int i = 0; i < secret.length(); i++) {
char c1 = secret.charAt(i);
char c2 = guess.charAt(i);
if (c1 == c2) {
bulls++;
} else {
countMapA[c1 - '0']++;
countMapB[c2 - '0']++;
}
}
for (int i = 0; i < 10; i++) {
cows += Math.min(countMapA[i], countMapB[i]);
}
return bulls + "A" + cows + "B";
}
}

References

299. Bulls and Cows