判断串中每种字符是否只出现一次,时间复杂度O(N)
2017-11-25 09:47
337 查看
public static void main(String[] args) { char[] c="a2b".toCharArray(); boolean res=isUnique1(c); System.out.println(res); } //判断串中每种字符是否只出现一次,时间复杂度O(N) public static boolean isUnique1(char[] chas){ if(chas==null){ return true; } boolean[] map=new boolean[256]; for(int i=0;i<chas.length;i++){ if(map[chas[i]]){//map[48]为true,但又遇到map[48] return false;//说明不止出现一次 } map[chas[i]]=true;//出现过的字符都赋true,如map(48)=true } return true; }
PS:
另一个要求好难….
保证额外空间复杂度为O(1)的前提下,实现时间复杂度尽量低的方法。
相关文章推荐
- [C语言常见面试题]查询一个字符串中第一个只出现一次的字符,要求时间复杂度为O(1)
- 判断字符数组中是否所有的字符都只出现过一次
- 在一个字符串中找到第一个只出现一次的字符,要求时间复杂度O(n)
- 判断字符串的字符是否只出现一次
- 判断一个整数数组中是否有重复数字出现的O(n)时间复杂度算法
- 一个字符串中查找第一个只出现一次的字符 ,时间复杂度为O(N)
- 判断字符数组中是否所有的字符都出现一次
- 判断字符是否出现一次
- 判断字符数组中是否所有的字符只出现了一次(左程云)非递归堆排序实现
- 判断字符数组中是否所有的字符都只出现过一次 Python 版
- 判断字符数组中是否所有的字符都只出现过一次
- 求出字符串中第一个只出现一次的字符,要求时间复杂度小于O(2n)
- 字符串问题---判断字符数组中是否所有的字符只出现了一次
- 给定一个字符串,查找该字符串中第一个重复出现的字符索引。要求:时间复杂度为O(n)。
- 剑指offer-第五章优化时间和空间效率(在字符串中第一次出现切只出现一次的字符)
- 《剑指offer》刷题笔记(时间空间效率的平衡):第一个只出现一次的字符
- 第三十二题 多种方法来判断字符串中是否出现了相同字符
- 时间复杂度为O(n)来判断数组a[N](1 <= a[i] <= N)中是否有重复元素 (某公司校园招聘笔试题目)
- 一个整型数组里除了一个或者两个或者三个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)
- C/C+面试题一:找出字符串中出现最多的字符和次数,时间复杂度小于O(n^2)