剑指offer——python【第54题】字符流中第一个不重复的字符
题目描述
思路
和前面的那道字符串中只出现一次的字符相似而不相同,前面那道是固定长度字符串,而本题是字符流,也就是会增长的,每次字符串多一个字符,就要重新判断是哪个只出现一次的字符
因为牛客网里剑指offer的python只有2.7,没有3.0以上的版本,而python2.7的字典遍历通常不是有序的(python3通常有序),所以只能再借助一个列表来存储全部字符串,遍历字符串从而寻找
解答
class Solution:# 返回对应chardef __init__(self):self.charDict = {}#存放字符和对应的数量self.charlist = []#存放字符def FirstAppearingOnce(self):# write code herefor key in self.charlist:if self.charDict[key]==1:return keyreturn '#'def Insert(self, char):# write code hereself.charDict[char]=1 if char not in self.charDict else self.charDict[char]+1self.charlist.append(char)
其实再想一下,把字典去掉也完全可以啊,这跟那道固定长度的只出现一次字符串没有本质的区别
class Solution:# 返回对应chardef __init__(self):self.charlist = []def FirstAppearingOnce(self):# write code herefor key in self.charlist:if self.charlist.count(key)==1:return keyreturn '#'def Insert(self, char):# write code hereself.charlist.append(char)
转载于:https://www.cnblogs.com/yqpy/p/9569448.html
剑指offer——python【第54题】字符流中第一个不重复的字符相关推荐
- 剑指offer——面试题55:字符流中第一个不重复的字符
剑指offer--面试题55:字符流中第一个不重复的字符 Solution1: 当年第一次做这个题的做法 对此题最大的感想是: 1)区分deque(双端队列)和queue(队列): 2)要熟悉queu ...
- 《剑指offer》-- 第一个只出现一次的字符、数组中只出现一次的数字、字符流中第一个不重复的字符、数组中重复的数字
一.第一个只出现一次的字符: 1.题目: 在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写 ...
- 【剑指offer-54】20190907/03 字符流中第一个不重复的字符
[剑指offer-54]字符流中第一个不重复的字符 考点:字符串 时间限制:1秒 空间限制:32768K 请实现一个函数用来找出字符流中第一个只出现一次的字符.例如,当从字符流中只读出前两个字符&qu ...
- java统计一个字符串中每个字符出现的次数_剑指offer算法题054:字符流中第一个不重复的字符...
推荐阅读:宇宙条的工作总结:一年前还在面试找工作,一年后在面试找工作的学弟学妹们:第一次当面试官的经历分享小编在求职找找工作期间剑指offer上的算法题刷了很多遍,并且每道题小编当时都总结了一种最适合 ...
- 剑指offer:字符流中第一个不重复的字符
题目描述 请实现一个函数用来找出字符流中第一个只出现一次的字符.例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g".当从该字符流中读出 ...
- [剑指offer] 字符流中第一个不重复的字符
本文首发于我的个人博客:尾尾部落 题目描述 请实现一个函数用来找出字符流中第一个只出现一次的字符.例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是" ...
- 《剑指offer》字符流中第一个不重复的字符
题目:请实现一个函数用来找出字符流中第一个只出现一次的字符.例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g".当从该字符流中读出前六 ...
- (剑指Offer)面试题55:字符流中第一个不重复的字符
题目: 请实现一个函数用来找出字符流中第一个只出现一次的字符.例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g".当从该字符流中读出前 ...
- 剑指offer之字符流中第一个不重复的字符
题目描述 请实现一个函数用来找出字符流中第一个只出现一次的字符.例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g".当从该字符流中读出 ...
最新文章
- 理解javascript中的回调函数(callback)【转】
- 解决MySql 数据库 提示:1045 access denied for user 'root'@'localhost' using password yes
- iOS UIWebView URL拦截
- 微课|中学生可以这样学Python(例11.3):tkinter通信录管理系统4
- SpringCloud学习笔记008---杂七杂八002_spring 注解@Value详解_@Value(quot;#{}quot;)与@Value(quot;${}quot;)的区别
- 交换机的 VTP sever 与 client设置
- ASP/COM+组件开发辅助软件之补充
- rsa 网站openssl加密解密 使用心得
- java水果类用equal重量价格,Java基础练习题 附答案
- 神舟t6ti-x5刷蓝天新版BIOS教程 可提升0.5G睿频 模具N85xHKx/HJx
- QQ文件中转站 发送给好友的功能 哪去了?
- 利用tusharepro进行投资组合优化
- AXD 调试经验,使用及问题
- Mapbox矢量切片本地化(离线)生成与发布方案
- 【词性标注】一篇文章弄懂词性标注
- ShareX的使用说明
- 微信打不开文件怎么办
- BOOT ROM 初始化内容、启动设备、镜像烧写
- 你必须要知道CNN模型:ResNet
- MySQL 同时删除和添加多个字段
热门文章
- 【06年博文搬家】一个修改时间的批处理程序
- 《深入学习 Golang》并发编程
- 2021总结-》2022年
- 白皮书 | 以太坊 (Ethereum ):下一代智能合约和去中心化应用平台
- [转]python进阶到高阶大全
- notepad++行首行尾添加字符
- map函数的用法python,详解Python map函数及Python map()函数的用法
- 活用这25种图表效果,你的数据可视化也能变得高级炫酷!
- c语言浮点型常量表示平均数_数据类型与常量、变量解析
- mysql免安装版配置百度_mysql -5.7.10 免安装版配置