zoukankan      html  css  js  c++  java
  • leetcode 299 Bulls and Cows

    1. 

    class Solution {
    public:
        string getHint(string secret, string guess) {
            int bulls=0,cows=0;
            vector<int> m(10,0);
            queue<int> q;
            for(int i=0;i<guess.size();++i) {
                if(secret[i]==guess[i]) {
                    ++bulls;
                }
                else {
                    q.push(i);
                    ++m[secret[i]-'0'];
                }
            }//for
            while(!q.empty()) {
                int i=q.front();q.pop();
                if(!m[guess[i]-'0']) continue;
                ++cows;
                --m[guess[i]-'0'];
                
            }
            
            string re=to_string(bulls)+'A'+to_string(cows)+'B';
            return re;
        }
    };

    2. 用一个vector,在secret的值上做加法,guess的值上做减法.

    class Solution {
    public:
        string getHint(string secret, string guess) {
            int bulls=0,cows=0;
            vector<int> vec(10,0);
            for(int i=0;i<secret.size();++i) {
                if(secret[i]==guess[i]) ++bulls;
                else {
                    if(vec[secret[i]-'0']++<0) ++cows;//vec[secret[i]-'0']<0表示guess中,有一个未匹配的secret[i]
                    if(vec[guess[i]-'0']-->0) ++cows;//vec[guess[i]-'0']>0表示在secret,有一个未匹配的guess[i]
                }
            }
            return to_string(bulls)+'A'+to_string(cows)+'B';
        }
    };
  • 相关阅读:
    字体
    当前li的同级且不包含当前li
    溢出用省略号显示
    .NET Core中使用Cookie步骤
    .NET Core中使用Session步骤
    asp.net core 读取配置
    Asp.Net Core run on Ubuntu
    .net core中使用GB2312编码
    ubuntu mysql 安装
    samba的安装
  • 原文地址:https://www.cnblogs.com/LiuQiujie/p/12579727.html
Copyright © 2011-2022 走看看