题解 | 珠玑妙算

珠玑妙算

https://www.nowcoder.com/practice/ed21d2b1183a401797fdf06e88cc5993

#include <set>
#include <string>
#include <unordered_map>
class Result {
  public:
    vector<int> calcResult(string A, string guess) {
        // write code here
        int right = 0;

        unordered_map<char, int> tmp;
        string remain;
        for (int i = 0; i < A.length(); ++i) {
            if (A[i] == guess[i] ) {
                right++;
            } else {
                tmp[A[i]]++;
                remain += guess[i];
            }
        }
        int fake = 0;
        for (auto& c : remain) {
            if (tmp.count(c) && tmp[c] > 0) {
                ++fake;
                tmp[c]--;
            }
        }
        return {right, fake};
    }
};

全部评论

相关推荐

09-09 16:12
已编辑
西南石油大学 Java
future0210:学java就是好啊,啥都能转
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务