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

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

题目如下:

解题思路:本题难度不太大,对时间复杂度也没有很高的要求。我的做法是用一个字典来保存每个字符出现的次数,用正数1记录标记secret中出现的字符,用负数1记录guess中出现的字符,这样每出现一次正负抵消,即表示出现了一次cow。

代码如下:

class Solution(object):    def getHint(self, secret, guess):        """        :type secret: str        :type guess: str        :rtype: str        """        dic = {}        bull = 0        cow = 0        for i in xrange(len(secret)):            if secret[i] == guess[i]:                bull += 1            else:                if dic.has_key(secret[i]):                    if dic[secret[i]] < 0:                        cow += 1                    dic[secret[i]] += 1                else:                    dic[secret[i]] = 1                if dic.has_key(guess[i]):                    if dic[guess[i]] > 0:                        cow += 1                    dic[guess[i]] -= 1                else:                    dic[guess[i]] = -1                if dic[guess[i]] == 0:                    del dic[guess[i]]                if dic[secret[i]] == 0:                    del dic[secret[i]]        return str(bull) + 'A' + str(cow) + 'B'

 

转载于:https://www.cnblogs.com/seyjs/p/8818813.html

你可能感兴趣的文章
cocos2d-x之监听手机的物理按键
查看>>
python数据处理excel和pdf,并打包成exe
查看>>
基于 HTML5 WebGL 的低碳工业园区监控系统
查看>>
如何使绝对定位内部元素不继承父级宽度,而是靠内容自动撑开宽度(转载)
查看>>
《程序猿的生命周期》阅读有感
查看>>
重温排序算法
查看>>
Instrumentation 功能介绍(javaagent)
查看>>
Core J2EE Patterns - Data Access Object
查看>>
SpringCloud学习成长之路 六 cloud配置中心
查看>>
MyEclipse定位class文件
查看>>
STM32(HY-SRF05)超声波测距项目
查看>>
《practical Java》读书笔记
查看>>
数据库字段顺序的【坑】
查看>>
spring5新响应式框架-webflux实战
查看>>
软甲架构笔记 三
查看>>
STL training (uva上一些比较好的用来熟悉STL)
查看>>
[未完成]关于CSS的总结
查看>>
陈皓一起写Makefile 概述
查看>>
linux下安装启动rpc服务
查看>>
Software Testing, Lab 1
查看>>