剑指offer——面试题55:字符流中第一个不重复的字符
剑指offer——面试题55:字符流中第一个不重复的字符
Solution1:
当年第一次做这个题的做法
对此题最大的感想是:
1)区分deque(双端队列)和queue(队列);
2)要熟悉queue的基本函数
此题答案如下:
class Solution
{
public://Insert one char from stringstreamvoid Insert(char ch) {str_temp.push(ch);//队列queue用push把元素压入队列中Hash_temp[ch]++;}//return the first appearence once char in current stringstreamchar FirstAppearingOnce() {while(!str_temp.empty() && Hash_temp[str_temp.front()] >=2) {//队列queue的front()返回首元素str_temp.pop(); //但不删除,pop()删除首元素,但不返回} //与front()函数类似,back()函数返回尾元素,亦不删除if(str_temp.empty())return '#';elsereturn str_temp.front();}
private:int Hash_temp[256] = {0};//包含所有字符的简易哈希表queue<char> str_temp;
};
Solution2:
20180911日重做,代码简练了不少
class Solution {public:int Hash[256] = {0};string str = "";//Insert one char from stringstreamvoid Insert(char ch) {Hash[(int)ch]++;str += ch;}//return the first appearence once char in current stringstreamchar FirstAppearingOnce() {for (int i = 0; i < str.size(); i++) {if (Hash[str[i]] == 1)return str[i];}return '#';}
};
剑指offer——面试题55:字符流中第一个不重复的字符相关推荐
- 《剑指offer》-- 第一个只出现一次的字符、数组中只出现一次的数字、字符流中第一个不重复的字符、数组中重复的数字
一.第一个只出现一次的字符: 1.题目: 在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写 ...
- 【剑指offer-54】20190907/03 字符流中第一个不重复的字符
[剑指offer-54]字符流中第一个不重复的字符 考点:字符串 时间限制:1秒 空间限制:32768K 请实现一个函数用来找出字符流中第一个只出现一次的字符.例如,当从字符流中只读出前两个字符&qu ...
- (剑指Offer)面试题55:字符流中第一个不重复的字符
题目: 请实现一个函数用来找出字符流中第一个只出现一次的字符.例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g".当从该字符流中读出前 ...
- java统计一个字符串中每个字符出现的次数_剑指offer算法题054:字符流中第一个不重复的字符...
推荐阅读:宇宙条的工作总结:一年前还在面试找工作,一年后在面试找工作的学弟学妹们:第一次当面试官的经历分享小编在求职找找工作期间剑指offer上的算法题刷了很多遍,并且每道题小编当时都总结了一种最适合 ...
- 剑指offer——python【第54题】字符流中第一个不重复的字符
题目描述 请实现一个函数用来找出字符流中第一个只出现一次的字符.例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g".当从该字符流中读出 ...
- 剑指offer:字符流中第一个不重复的字符
题目描述 请实现一个函数用来找出字符流中第一个只出现一次的字符.例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g".当从该字符流中读出 ...
- [剑指offer] 字符流中第一个不重复的字符
本文首发于我的个人博客:尾尾部落 题目描述 请实现一个函数用来找出字符流中第一个只出现一次的字符.例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是" ...
- 《剑指offer》字符流中第一个不重复的字符
题目:请实现一个函数用来找出字符流中第一个只出现一次的字符.例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g".当从该字符流中读出前六 ...
- 剑指offer之字符流中第一个不重复的字符
题目描述 请实现一个函数用来找出字符流中第一个只出现一次的字符.例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g".当从该字符流中读出 ...
最新文章
- mysql fpmmm_zabbix配fpmmm(mpm)数据传送不了问题解决
- 关于python import的sys.path路径问题
- Python-Learn
- js 实现两个小数的相乘、相除功能
- NI Vision for LabVIEW 基础(一):NI Vision 简介
- android studio访问webservice如何传递类对象报错_小白学习web service,这是最最最基础的了,只用JDK还不会吗?...
- 如何在Windows的PHPstudy中使用redis数据库
- codeforces332B - Maximum Absurdity 线段数 or dp
- 如何把word文档转换成jpg图片
- java爬取前程无忧(51job)
- 深信服负载均衡开发实习面经
- 两台局域网电脑大数据传输详细教程
- 如何设置双路由器,图文详解
- Xshell,Xftp的官方网站
- python中repeat_Python中的Repeat类方法
- Linux系统之部署Rsyslog 日志服务器
- 「 每日一练,快乐水题 」728. 自除数
- 第七篇 FastAI模型训练
- 设置固定ip,还有一个自动分配ip
- 学生动漫网页设计模板下载 火影忍者大学生HTML网页制作作品 简单漫画网页设计成品 dreamweaver学生网站模板
热门文章
- Community Server Resources
- vc对图像进行平移,转置等几何变换
- linux不同内核驱动移植问题,基于tiny4412的Linux内核移植 -- MMA7660驱动移植(九-2)...
- kendotabstrip 动态加tab_加你的好友这么多,为什么偏偏记不住我这名微商?
- linux的dhcp的安装,linux下DHCP的安装配置
- matlab中svm testacc参数,使用Matlab进行交叉验证的多类SVM的完整示例
- c语言有n个人围成一圈用指针,c语言编写n个人围成一圈,按1、2、3报数,报到3的人退出,求最后留在圈中的人是最初n个人中的第几个(用指针实现)...
- nginx url 重写_Nginx重写URL规则示例
- Android MaterialButtonToggleGroup
- json 例子_json-简单的例子