A就是统计猜对的同位同字符的个数 B就是统计统计猜对的不同位同字符的个数
非常简单的题
1 class Solution { 2 public: 3 string getHint(string secret, string guess) { 4 int cntA = 0, cntB = 0; 5 int sn[10] = {0}, gn[10] = {0}; 6 for(string::size_type i = 0; i < secret.size(); ++i){ 7 if(secret[i] == guess[i]) cntA++; 8 sn[secret[i]-‘0‘]++; 9 gn[guess[i]-‘0‘]++; 10 } 11 for(int i = 0; i< 10; ++i){ 12 cntB += min(sn[i],gn[i]); 13 } 14 char s[50]; 15 sprintf(s, "%dA%dB",cntA,cntB-cntA); 16 return string(s); 17 } 18 };
时间: 2024-10-13 16:19:44