Bulls and Cows
Secret number: "1807" Friend's guess: "7810" Hint: 1 bull and 3 cows.
- Time: O(n)
- Space: O(1)
public String getHint(String secret, String guess) {
int[] count = new int[10];
int bull = 0, cows = 0;
for (int i = 0; i < secret.length(); i++) {
int a = secret.charAt(i) - '0', b = guess.charAt(i) - '0';
if (a == b) {
bull++;
} else {
if (count[a] < 0 || count[b] > 0)
cows++;
count[a]++;
count[b]--;
}
}
return bull + "A" + cows + "B";
}