Leetcode 299[media]---- Bulls and Cows

来源:互联网 发布:阿提拉全面战争优化差 编辑:程序博客网 时间:2024/06/04 00:29

难度:media

You are playing the following Bulls and Cows 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.

思路:leetcode第一道难度为media的题,但是并没有想象难。

          理解题意很重要,给出两个string:secret和guess,数值和位置均正确的称为bulls,也记作A,数值正确但位置不同的称为cow,记作B。此处有一个小trick,secret中的数字如果在guess的不同位置重复,也只是记作1B。

          secret和guess均只包含数字,而且长度相等。

           最后返回"几A几B"







原创粉丝点击