leetcode 299デジタルゲームC++
5948 ワード
1、テーマ
https://leetcode-cn.com/problems/bulls-and-cows/
2、題意
解法1:まず位置が正確で等しい記録をし、そうでなければ、等しくない数の個数を記録し、2回目は便利で、その数が現れたかどうかを判断し、個数-1,b+1が現れたことがある.
https://leetcode-cn.com/problems/bulls-and-cows/
2、題意
解法1:まず位置が正確で等しい記録をし、そうでなければ、等しくない数の個数を記録し、2回目は便利で、その数が現れたかどうかを判断し、個数-1,b+1が現れたことがある.
class Solution {
public:
string getHint(string secret, string guess) {
int size = secret.size();
if(size==0) return "0A0B";
int a=0,b=0;
vector<int> cnt(10,0);
for(int i=0;i<size;i++)
{
if(secret[i]==guess[i])
a++;
else
cnt[secret[i]-'0']++;
}
for(int i=0;i<size;i++)
{
if((secret[i]!=guess[i])&&(cnt[guess[i]-'0']>0))
{
b++;
cnt[guess[i]-'0']--;
}
}
return to_string(a)+'A'+to_string(b)+'B';
}
};