字符流中第一个不重复的字符
来源:互联网 发布:seo外链发到什么平台 编辑:程序博客网 时间:2024/05/17 07:34
请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。
输出描述:
如果当前字符流没有存在出现一次的字符,返回#字符。
思路:定义一个数据容器来保存字符在字符流中的位置,当一个字符第一次从字符流中读出来时,把它在字符流中的位置保存在数据容器中,当这个字符再次出现时,那么就吧它在数据容器中保存的值更新为一个特殊的值(比如负数值)
public class Solution { //Insert one char from stringstream //定义一个数组模拟哈希表 int mapArr[]=new int[256]; int index=0; public Solution(){ //最开始,哈希表中所有元素都初始化为-1 for(int i=0;i<256;i++){ mapArr[i]=-1; } } public void Insert(char ch) { if(mapArr[ch]==-1){ mapArr[ch]=index++; }else{ mapArr[ch]=-2; } } //return the first appearence once char in current stringstream public char FirstAppearingOnce() { int minIndex=256; char ch='#'; for(int i=0;i<256;i++){ if(mapArr[i]>=0&&mapArr[i]<minIndex){ minIndex=mapArr[i]; ch=(char)i; } } return ch; }}
阅读全文
0 0
- 字符流中第一个不重复的字符
- 55 - 字符流中第一个不重复的字符
- 字符流中第一个不重复的字符
- 字符流中第一个不重复的字符
- 字符流中第一个不重复的字符
- 字符流中第一个不重复的字符
- 字符流中第一个不重复的字符
- 字符流中第一个不重复的字符
- 【算法】字符流中第一个不重复的字符
- 字符流中第一个不重复的字符
- 字符流中第一个不重复的字符
- 字符流中第一个不重复的字符 java
- 字符流中第一个不重复的字符
- 字符流中第一个不重复的字符
- 字符串------字符流中第一个不重复的字符
- 【53】字符流中第一个不重复的字符
- 字符流中第一个不重复的字符
- Q55:字符流中第一个不重复的字符
- 把后台的调试信息显示到浏览器控制台
- 表示数值的字符串
- Bootstrap 模态框垂直居中处理
- 如何判断Linux主机是否被攻击
- 万亿平安,如何继续高速增长?
- 字符流中第一个不重复的字符
- spark学习-40-Spark的UnifiedMemoryManager
- Android常用布局总结
- 关于对ModelAndView自己的理解
- OpenVAS部署教程
- UUID
- Fingerprint指纹识别学习
- 20171127心情总结
- 《Effective Java》------类和接口(1)