博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[leetcode-299-Bulls and Cows]
阅读量:7028 次
发布时间:2019-06-28

本文共 1833 字,大约阅读时间需要 6 分钟。

You are playing the following  game with your friend: You write down a number and ask your friend to guess what the number is. Each time your friend makes a guess, you provide a hint that indicates how many digits in said guess match your secret number exactly in both digit and position (called "bulls") and how many digits match the secret number but locate in the wrong position (called "cows"). Your friend will use successive guesses and hints to eventually derive the secret number.

For example:

Secret number:  "1807"Friend's guess: "7810"

Hint: 1 bull and 3 cows. (The bull is 8, the cows are 01 and 7.)

 

Write a function to return a hint according to the secret number and friend's guess, use A to indicate the bulls and B to indicate the cows. In the above example, your function should return "1A3B".

Please note that both secret number and friend's guess may contain duplicate digits, for example:

Secret number:  "1123"Friend's guess: "0111"

In this case, the 1st 1 in friend's guess is a bull, the 2nd or 3rd 1 is a cow, and your function should return "1A1B".

 

You may assume that the secret number and your friend's guess only contain digits, and their lengths are always equal.

思路:

第一趟扫描查看有几个位置是正确的。统计一下。如果不正确分别放到map里面记录出现该数字的次数。

最后再统计两个map里面的值,取最小的。

string getHint(string secret, string guess){    if (secret.size() != guess.size() || guess.size() == 0)return "0A0B";    int correct = 0, wrong = 0;    map
se, gu; for (int i = 0; i < secret.size();i++) { if (secret[i] == guess[i])correct++; else { se[secret[i]]++; gu[guess[i]]++; } } for (char i = '0'; i <= '9'; i++) { wrong += min(se[i],wrong[i]); } return to_string(correct) + 'A' + to_string(wrong) + 'B';}

参考:

 

转载于:https://www.cnblogs.com/hellowooorld/p/7573387.html

你可能感兴趣的文章
Git 操作分支
查看>>
Grid search in the tidyverse
查看>>
hdu 三部曲 Contestants Division
查看>>
day22——创建表、增加数据、查询数据
查看>>
css伪元素实现tootip提示框
查看>>
Python基础知识随手记
查看>>
bzoj 1191 [HNOI2006]超级英雄Hero——二分图匹配
查看>>
关于xshell无法连接到centos的问题
查看>>
关于函数指针的总结
查看>>
采用PHP函数uniqid生成一个唯一的ID
查看>>
Centos7安装32位库用来安装32位软件程序
查看>>
【HMOI】小C的填数游戏 DP+线段树维护
查看>>
java中23种设计模式之6-适配器模式(adapter pattern)
查看>>
Easy C 编程 in Linux
查看>>
SQL Server 事务语法
查看>>
poj3761(反序表)
查看>>
x86寄存器总结
查看>>
jquery easyui ajax data属性传值方式
查看>>
封装了些文件相关的操作
查看>>
什么是Solr
查看>>