299. Bulls and Cows
class Solution {
public:
string getHint(string secret, string guess) {
int n = secret.size();
int bulls = 0;
unordered_map<char, int> secret_count, guess_count;
for (int i = 0; i < n; i++) {
if (secret[i] == guess[i]) bulls++;
else {
secret_count[secret[i]]++;
guess_count[guess[i]]++;
}
}
int cows = 0;
for (const auto& [k, v] : guess_count) {
if (secret_count.count(k)) {
cows += min(secret_count[k], v);
}
}
return to_string(bulls) + "A" + to_string(cows) + "B";
}
};