leetcode299猜数字游戏C++

1、题目

https://leetcode-cn.com/problems/bulls-and-cows/

2、题意

解法1:先将位置正确且相等的记录,否则记录不相等数每个数的个数,第二次便利,判断那个数是否出现过,出现过个数-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';
    }
};

你可能感兴趣的:(leetcode,leetcode)