如何判断字符串是否包含重复字符
来源:互联网 发布:京东方屏幕知乎 编辑:程序博客网 时间:2024/06/05 18:15
如何判断字符串是否包含重复字符
问题:实现一个算法来判断一个字符串中的字符是否唯一(即没有重复).不能使用额外的数据结构.(即只使用基本的数据结构)解答:若字符为ASCII字符集合.则一个时间复杂度为O(n)的解法如下:
我们还可以通过位运算来减少空间的使用量.用每一位表征相应位置字符的出现.对于ASCII字符,我们需要256位,即一个长度为8的int 数组a即可(BitMap).这里的关键是要把字符对应的数字,映射到正确的位上去.比如字符’b’对应的代码是98,那么我们应该将数组中的哪一位置为1呢?用98除以32,得到对应数组a的下标:3;98对32取模得到相应的位:2.相应代码如下:
typedef enum{false = 0,true = 1}bool;bool isUnique2(char *pp_String){ int a[8]; memset(a, 0, sizeof(a)); int len = strlen(pp_String); for(int i=0; i < len; ++i) { char v = (int)pp_String[i]; int idx = v/32, shift=v%32; if(a[idx] & (1 << shift)) return false; a[idx] |= (1 << shift); } return true;}
0 0
- 如何判断字符串是否包含重复字符
- 如何判断一个字符串中是否包含某一字符
- 检验字符串中是否包含重复字符
- 测试字符串中是否包含重复字符
- 正则判断字符串包含重复字符
- 判断字符串中是否包含中文字符
- 判断字符串中是否包含某种字符
- Java判断字符串是否包含一些字符
- php 判断字符串中是否包含字符
- 判断字符串是否包含某些字符
- ios 字符串判断是否包含字符
- 判断字符串是否包含特殊字符正则
- 判断字符串是否包含某个字符
- IOS判断字符串是否包含某字符
- String 判断字符串是否包含某个字符
- [google面试CTCI] 1-1.判断一个字符串是否包含重复字符
- 判断字符串中是否有重复字符
- 1.1-判断字符串是否有重复字符
- Migrating Mantis to a new server (And avoid the email sent failure problem)
- 如何计算一个算法的时间复杂度
- 杭电 3003 Pupu(快速幂取余)
- Elipse的配色方案
- 天堂里有没有车来车往
- 如何判断字符串是否包含重复字符
- mini2440裸机试炼之——IIC控制EEPROM数据传输
- Java programming书籍
- WEB前端开发学习----12. JavaScript 选项卡效果
- l w i p n e t i f a d d
- c u b e l w i p works
- 二叉树-Largest BST in a tree
- 今日作息及食谱(8.24)
- .Net实现Excel的导入与导出