387. First Unique Character in a String
来源:互联网 发布:大数据课程培训 编辑:程序博客网 时间:2024/06/06 01:23
//本文内容来自StarSight,欢迎访问。
Given a string, find the first non-repeating character in it and return it's index. If it doesn't exist, return -1.
Examples:
s = "leetcode"return 0.s = "loveleetcode",return 2.
Note: You may assume the string contain only lowercase letters.
中规中矩的解法:
public class Solution { public int firstUniqChar(String s) { int[] exist = new int[26]; for(int i = 0;i < s.length();i++){ char c = s.charAt(i); if(exist[c-'a']==0){ exist[c-'a'] =i+1; } else exist[c-'a'] =-1; } int min = 65535; for(int i =0;i<26;i++){ if(exist[i]<min&&exist[i]>0) min =exist[i]; } if(min==65535) return -1; return min-1; }}
之前还加上了HashMap,其实完全没必要
public int firstUniqChar(String s) { if(s.equals("")) return -1; Map<Character,Integer> map = new HashMap<>(); int[] exist = new int[26]; for(int i = 0;i < s.length();i++){ char c = s.charAt(i); Integer it = map.get(c); if(it==null){ map.put(c,i+1); exist[c-'a'] =i+1; } else exist[c-'a'] =65535; } int min = 65535; for(int i =0;i<26;i++){ if(exist[i]<min&&exist[i]>0) min =exist[i]; } if(min==65535) return -1; return min-1; }
0 0
- 387. First Unique Character in a String
- 387.First Unique Character in a String
- 387. First Unique Character in a String
- 387. First Unique Character in a String
- 387. First Unique Character in a String
- 387. First Unique Character in a String
- 387. First Unique Character in a String
- 387. First Unique Character in a String
- 387. First Unique Character in a String
- 387. First Unique Character in a String
- 387. First Unique Character in a String
- 387. First Unique Character in a String
- 387. First Unique Character in a String
- 387. First Unique Character in a String
- 387. First Unique Character in a String
- 387. First Unique Character in a String
- 387. First Unique Character in a String
- 387. First Unique Character in a String
- Java并发学习--生产者/消费者模式
- c
- Android5.0以上通知栏图标设计
- Q75:光照模型汇总:环境光、平行光光源、点光源、面积光源
- java中类成员初始化顺序
- 387. First Unique Character in a String
- Android 如何判断手机处于电源充电状态还是USB连接状态?
- PCA的数学原理
- 无法转换解决方案文件“*.sln”,因为无法修改它
- Android EditText简单自定义边框样式
- bzoj 2629: binomial (FFT+DP+Lucas定理+短除法)
- 异步化方案
- 深入理解init_2-----解析配置文件init.rc(基于Android 2.2,代码源于Google)
- Android Studio Session 'MainActivity': Error Launching activity