剑指offer35题(第一个只出现一次的字符)
来源:互联网 发布:java可视化开发工具 编辑:程序博客网 时间:2024/06/17 04:03
题目:在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置
思路:在本题中利用哈希表,字符为key,次数为value。
两次扫描,第一次存key和value。第二次扫描字符与哈希表对应,若有一次的就直接返回。
代码:
import java.util.HashMap;public class Solution { public int FirstNotRepeatingChar(String str) { int len = str.length(); if(len==0){ return -1; } HashMap<Character,Integer> hp = new HashMap<Character, Integer>(); for(int i=0;i<len;i++){ char c = str.charAt(i); if(hp.containsKey(c)){ int time = hp.get(c); time++; hp.put(c,time); } else{ hp.put(c,1); } } for(int i=0;i<len;i++){ char c = str.charAt(i); if(hp.get(c)==1){ return i; } } return -1; }}
阅读全文
0 0
- 第一个只出现一次的字符(剑指offer35)
- 剑指offer35:第一个只出现一次的字符
- 剑指offer35题(第一个只出现一次的字符)
- 剑指offer35:第一个只出现一次的字符(hash表使用)
- offer35--第一个只出现一次的字符
- 第一个只出现一次的字符 (剑指offer)
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- jvm 五个组成部分
- SimpleAdapter
- NYOJ 最大岛屿
- 数据结构之排序5--快速排序
- Python(StringIO)模块详解
- 剑指offer35题(第一个只出现一次的字符)
- tomcat
- HDOJ 1017 A Mathematical Curiosity
- centos7集群中NTP设置时间同步
- Tomcat部署SSL使其支持https
- TF-IDF与余弦相似性的应用(一):自动提取关键词
- HEVC 帧内预测xPredIntraAng
- 深度学习总结(五)——各优化算法
- Ubuntu系统安装Ruby