本站消息

  本站每日ip已达10000,出租广告位,位置价格可谈,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2019-08(84)

2019-09(112)

2019-10(10)

2019-11(5)

2019-12(19)

Leetcode299.bulls and cows

发布于2020-05-17 18:43     阅读(338)     评论(0)     点赞(11)     收藏(5)


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

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

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

示例 1:

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

输出: "1A3B"

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

def getHint(secret,guess):
    ds = {}
    dg = {} #插入字典的原因主要是排除重复的元素
    bulls = 0
    cows = 0
    for i in range(len(guess)):
        if secret[i] == guess[i]:
            bulls += 1
        else:
            if secret[i] in ds:
                ds[secret[i]]+=1
            else:
                ds[secret[i]] = 1
            if guess[i] in dg:
                dg[guess[i]]+=1
            else:
                dg[guess[i]]=1
    for i in dg:
        if i in ds:
            cows += min(ds[i],dg[i])

    return str(bulls)+'A' + str(cows)+'B'

 

原文链接:https://blog.csdn.net/weixin_40378100/article/details/106166027



所属网站分类: 技术文章 > 博客

作者:天下

链接: https://www.pythonheidong.com/blog/article/377322/

来源: python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

11 0
收藏该文
已收藏

评论内容:(最多支持255个字符)