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之路