判断是否有重复字符 bool IsUniqueChars( String str) CC150 1.1
2016-09-28 09:57
218 查看
1.1 Implement an algorithm to determine if a string has all unique characters. What if you connot use additional data structures?
ASCII 与 UNICODE的区别? http://zhidao.baidu.com/link?url=EAwBwFRrf3vHB8bNd5v0OybwlZq1CxdXP-UenXxTVmx-oPn4kpnK3y2Ro3yjt5gjs9JCADmf9Pa8m38xONtRlXtWqzHRapRGwSW-dzv57Ka
ASCII ,ASCII码由一个字节中的7位(bit)表示,范围是0x00 - 0x7F 共128个字符。
扩展ASCII码。范围是0x00 - 0xFF 共256个字符;
Unicode, 6万多个。 60 thousand.
思路1
建立定长bool[], 存放是否已经存在这个char
思路2
对比Str中每个char,判断是否存在重复; 缺点:时间复杂度:O(N^2)
思路3
先排序,然后对比周围的元素是否存在相同的。时间复杂度:O(nlogn)
ASCII码版本:
时间复杂度:O(N); 空间复杂度:O(N)
ASCII 与 UNICODE的区别? http://zhidao.baidu.com/link?url=EAwBwFRrf3vHB8bNd5v0OybwlZq1CxdXP-UenXxTVmx-oPn4kpnK3y2Ro3yjt5gjs9JCADmf9Pa8m38xONtRlXtWqzHRapRGwSW-dzv57Ka
ASCII ,ASCII码由一个字节中的7位(bit)表示,范围是0x00 - 0x7F 共128个字符。
扩展ASCII码。范围是0x00 - 0xFF 共256个字符;
Unicode, 6万多个。 60 thousand.
思路1
建立定长bool[], 存放是否已经存在这个char
思路2
对比Str中每个char,判断是否存在重复; 缺点:时间复杂度:O(N^2)
思路3
先排序,然后对比周围的元素是否存在相同的。时间复杂度:O(nlogn)
ASCII码版本:
时间复杂度:O(N); 空间复杂度:O(N)
public static bool IsUniqueChars( String str) { if (str.Length > 128) return false; bool[] charSet = new bool[128]; char[] strArr = new char[str.Length]; strArr = str.ToCharArray(); for ( int i = 0; i < str.Length; i++) { int val = strArr[i]; //返回ASSIC if (charSet[val]) //已经存在这个char { return false; } charSet[val] = true; } return true; }
相关文章推荐
- 1.1---判断字符串是否所有字符都不相同(CC150)
- 1.1-判断字符串是否有重复字符
- careercup top 150判断字符串中字符是否唯一(字符不重复)
- Cracking-- 1.1 判断字符串中是否有重复字符
- 通过位操作判断字符串中是否存在重复字符
- 判断字符串是否没有重复字符
- CTCI系列--1.1 判断一个字符串中的字符是否唯一(C语言)
- 判断字符串是否没有重复字符
- LintCode-判断字符串是否没有重复字符
- 判断字符串是否没有重复字符
- 1.1 判断字符串是否由唯一字符组成
- 判断一个字符串里面是否有重复的字符
- lintcode 容易题:Unique Characters 判断字符串是否没有重复字符
- 【Lintcode】判断字符串是否没有重复字符
- 判断字符串中是否有重复字符
- LintCode Unique Characters 判断字符串是否没有重复字符
- 如何判断字符串是否包含重复字符
- CTCI系列--1.1 判断一个字符串中的字符是否唯一(C语言)
- LintCode_157_判断字符串是否没有重复字符
- 实现一个算法来判断一个字符串中的字符是否唯一(即没有重复).不能使用额外的数据结构。 (即只使用基本的数据结构)