[LeetCode] Bulls and Cows
This problem seems to be easy at the first glance, especially the problem gives a too much simpler example. Make sure you understand the problem by making more examples or refering to some other material, like the Wikipedia article.
Stefan shares a very simple and elegant solution, which is rewritten below using multiset in C++.
1 class Solution { 2 public: 3 string getHint(string secret, string guess) { 4 int bull = 0, both = 0, n = secret.length(); 5 for (int i = 0; i < n; i++) 6 bull += (secret[i] == guess[i]); 7 for (char c = '0'; c <= '9'; c++) 8 both += min(count(secret.begin(), secret.end(), c), 9 count(guess.begin(), guess.end(), c)); 10 return to_string(bull) + "A" + to_string(both - bull) + "B"; 11 } 12 };