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

results matching ""

    No results matching ""