299

news/2024/11/24 5:20:26/

你正在和你的朋友玩 猜数字(Bulls and Cows)游戏:你写下一个数字让你的朋友猜。每次他猜测后,你给他一个提示,告诉他有多少位数字和确切位置都猜对了(称为“Bulls”, 公牛),有多少位数字猜对了但是位置不对(称为“Cows”, 奶牛)。你的朋友将会根据提示继续猜,直到猜出秘密数字。

请写出一个根据秘密数字和朋友的猜测数返回提示的函数,用 A 表示公牛,用 B 表示奶牛。

请注意秘密数字和朋友的猜测数都可能含有重复数字。

示例 1:

输入: secret = "1807", guess = "7810"

输出: "1A3B"

解释: 1 公牛和 3 奶牛。公牛是 8,奶牛是 0, 1 和 7。

示例 2:

输入: secret = "1123", guess = "0111"

输出: "1A1B"

解释: 朋友猜测数中的第一个 1 是公牛,第二个或第三个 1 可被视为奶牛。

说明: 你可以假设秘密数字和朋友的猜测数都只包含数字,并且它们的长度永远相等。

思路:找出重复的数字,减去相同位置的数字,则是B的数字。

 string getHint(string secret, string guess) {

        string tmp;


            int count = 0;

            int ncount = 0;

            vector<int> v(10,0);

            for(auto s:secret)

            {

                v[s-'0']++;

            }

            for(auto g:guess)

            {

                if(v[g-'0'])

                {

                    ncount++;

                    v[g-'0']--;

                }


            }

            for(int i = 0;i < secret.size();i++)

            {

                if(secret[i] == guess[i])

                    count++;

            }


            tmp = to_string(count) + "A" + to_string(ncount-count) + "B";

        return tmp;

    }


http://www.ppmy.cn/news/115590.html

相关文章

hdu2639

/* 分析&#xff1a; 第K背包就是0-1背包变异&#xff0c;把dp开成三维的&#xff0c;第三个 维度记录最大的K个值&#xff0c;就行了。 至于递推过程&#xff0c;和0-1是一样的&#xff0c;不用担心会漏掉情况 哦~&#xff0c;想想就出来了0.0 2012-07-10 */ #include"st…

三星I699 基带FK20 刷机超详细教程,实测!

[colorred][u][b]前面的话[/b][/u][/color] 写此教程前&#xff0c;学习[colorred]翼23社区 银酱[/color][colorbrown]三星 I699 root 详细教程 99.9%成功[/color]教程&#xff0c;尊重原创&#xff0c;特发链接在此~&#xff01;&#xff01;~[colorred][url]http://bbs.189st…

HDU2669

题目链接&#xff1a;http://acm.hdu.edu.cn/showproblem.php?pid2669 题目大意&#xff1a;给两个数a和b&#xff0c;找出一组x&#xff0c;y使得a*x b*y 1&#xff0c;如果找不出输出sorry 题解&#xff1a;显然是用扩展欧几里得定理求解。 扩展欧几里德算法 基本算法…

1099 性感素数

1099 性感素数 &#xff08;20 分&#xff09; “性感素数”是指形如 (p, p6) 这样的一对素数。之所以叫这个名字&#xff0c;是因为拉丁语管“六”叫“sex”&#xff08;即英语的“性感”&#xff09;。&#xff08;原文摘自 http://mathworld.wolfram.com/SexyPrimes.html&am…

hdu6796 X Number

题目链接 把每个数出现次数的数组当成状态来进行数位dp&#xff0c;常规的数位dp是枚举到最后一位或者此状态之前被处理过。 此题有个额外不同的地方就是&#xff0c;如果之前枚举的数不全是前导零且小于给定数&#xff0c;那么后面的数就可以随便放&#xff0c;因为我们只关心…

芯片组x299是服务器主板吗,最强的酷睿i9只能用它!X299主板首发评测

【PConline 首发评测】X99主板从2014年中旬至今已经坚挺了三年,加之AMD那头的多核多线程锐龙CPU又来势汹汹,Intel这回终于狠下心来推出新一代的酷睿i9和发烧级主板——X299来应战,也许发烧级平台的受众数量不会太多,但作为Intel的顶级产品,其话题性和关注度还是很高的,今…

三星(samsung)手机i699内容:解锁boot loader,刷recovery,刷机(刷rom),root综合教程

此文为本人原创 1.1 手机和电脑(linux)比较&#xff1a; 启动过程比较&#xff1a; android启动过程&#xff1a; 1 Boot ROM > 2 Boot Loader > 3 正常模式&#xff1a;加载Kernel > 4 Android > 3 恢复模式&#xff1a;Recovery linux启动过程&#xff1a;BIOS自…

强!PCB“金手指”从设计到生产全流程

在电脑内存条、显卡上&#xff0c;有一排金黄色导电触片&#xff0c;就是大家俗称的“金手指”。 在PCB设计制作行业中的“金手指”(Gold Finger&#xff0c;或称Edge Connector)&#xff0c;是由connector连接器作为PCB板对外连接网络的出口。 关于“金手指”你知道多少呢&a…