LeetCode 299 猜数字游戏[遍历] HERODING的LeetCode之路

Posted HERODING23

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 299 猜数字游戏[遍历] HERODING的LeetCode之路相关的知识,希望对你有一定的参考价值。


解题思路

首先研读题目可以知道,bulls在逐一对比的时候就能够获知,而cows是不确定的,所以我们用两个长度为10的数组记录除了确定是bulls的其他数,一次遍历后再找对应的最小值,加起来就是cows的数量,代码如下:

代码

class Solution {
public:
    string getHint(string secret, string guess) {
        vector<int> count_s(10);
        vector<int> count_g(10);
        int bulls = 0, cows = 0;
        for(int i = 0; i < secret.length(); i ++) {
            if(secret[i] == guess[i]) {
                bulls ++;
            } else {
                count_s[secret[i] - '0'] ++;
                count_g[guess[i] - '0'] ++;
            }
        }
        for(int i = 0; i < 10; i ++) {
            cows += min(count_s[i], count_g[i]);
        }
        return to_string(bulls) + 'A' + to_string(cows) + 'B';
    }
};

以上是关于LeetCode 299 猜数字游戏[遍历] HERODING的LeetCode之路的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 299 猜数字游戏[遍历] HERODING的LeetCode之路

LeetCode 299. 猜数字游戏

leetcode打卡——299. 猜数字游戏(求交集or标记法)

LeetCode-299. 猜数字游戏

LeetCode-299. 猜数字游戏

leetcode 299. 猜数字游戏(Bulls and Cows)