剑指offer — 数据流中第一个不重复的数字
来源:互联网 发布:开源java web绘图工具 编辑:程序博客网 时间:2024/05/20 13:04
请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。
解题思路:使用hash的方式进行解决
java
import java.util.*;public class Solution { //Insert one char from stringstream Map<Character, Integer> map = new HashMap<>(); int index = 0; int HAVE = -1; public void Insert(char ch) { if (map.containsKey(ch)) { map.put(ch, HAVE); } else { map.put(ch, index); } index++; } //return the first appearence once char in current stringstream public char FirstAppearingOnce() { int index = Integer.MAX_VALUE; char res = '#'; for (Character c : map.keySet()) { if (map.get(c) != HAVE && map.get(c) < index) { res = c; index = map.get(c); } } return res; }}
阅读全文
0 0
- 剑指offer — 数据流中第一个不重复的数字
- 《剑指offer》——字符流中第一个不重复的字符
- 《剑指offer》——字符流中第一个不重复的字符
- 剑指Offer——字符流中第一个不重复的字符
- 剑指offer——字符流中第一个不重复的字符
- 剑指offer——字符流中第一个不重复的字符
- 剑指offer(C++)——字符流中第一个不重复的字符
- 剑指offer——字符流中第一个不重复的字符
- 剑指offer——字符流中第一个不重复的字符
- 剑指offer——字符流中第一个不重复的字符
- 剑指Offer—54—字符流中第一个不重复的字符
- 剑指offer——54.字符流中第一个不重复的字符
- 剑指offer——面试题55:字符流中第一个不重复的字符
- 剑指offer—字符流中第一个不重复的字符
- 剑指offer—字符流中第一个不重复的字符
- 第一个不重复的字符---剑指Offer
- 剑指offer--字符流中第一个不重复的字符
- 《剑指Offer》学习笔记--面试题55:字符流中第一个不重复的字符
- 设计模式之观察者模式
- @ eclipse 一般设置
- android过渡动画之makeSceneTransitionAnimation
- 简单加密壳项目笔记
- 初级Java学习笔记总结
- 剑指offer — 数据流中第一个不重复的数字
- Java swing实现屏幕截图项目源码
- PV,TPS,QPS,RPS
- 老赖的未来生活,竟然是这样!
- HDU 5914 Triangle【斐波那契 找规律】
- 数字图像处理的MATLAB实现(第二版)
- api接口安全
- ListView addHeaderView 不显示头部
- r