[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 };
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步