第一个只出现一次的字符
来源:互联网 发布:徐克版笑傲江湖 知乎 编辑:程序博客网 时间:2024/06/09 16:21
题目:
在一个字符串(1<=字符串长度<=10000)中找到第一个只出现一次的字符,并返回它的位置。
解题思路:
1.共遍历两次字符串,第一次遍历统计每个字符出现的次数,第二次遍历遇到次数为1的字符返回它的位置即可。
2.char占一个字节,共8bit,共有256种可能(256个字符),我们开一个大小为256的数组来保存每个字符出现的次数。
3.时间复杂度
java实现:
public class Solution { public int FirstNotRepeatingChar(String str) { int [] alph = new int [256]; //char长度为8,因此一共有256个字符 for(int i = 0; i < str.length(); i ++){ //统计每个字母出现的次数 char c = str.charAt(i); alph[c] += 1; //数组的下标是字母的ASCII码,下标对应的值是该字母出现的次数 } for(int i = 0; i < str.length(); i ++){ if(alph[str.charAt(i)] == 1) return i; //找到第一个只出现一次的字符 } return -1; //没找到第一个只出现一次的字符 }}
阅读全文
0 0
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 阶段性总结
- web前端初学者相关知识
- linux环境变量设置空格问题
- 使用eclipse连接hadoop失败情况
- Vulkan中Loader和Layer的接口(LoaderAndLayerInterface)
- 第一个只出现一次的字符
- 使用GDB调试多进程/多线程程序
- 【Java面试】Mybatis篇
- 【Python】四、Sympy——《用Python做科学计算》
- tesseract OCR 调用的方法例程,from wiki
- JS基本类型与引用类型的值与作用域
- RecyclerView精确恢复到上次的位置
- RecyclerView使用方法
- Javaweb 实战之Spring