crack the code interiview C++
我们在求职的时候都会去看求职手册,其中CCIC就是一个常用的手册
这里我会放上我自的C++ 实现代码,给毕业生们参考
Implement an algorithm to determine if a string has all unique characters. What if you can not use additional data structures?
首先,你可以问面试官,构成字符串的字符集有多大?是ASCII字符,还是只是26个字母? 还是有用到的字符集,对于不同的情况,我们可能会有不同的解决方案。
如果我们假设字符集是ASCII字符,那么我们可以开一个大小为256的bool数组来表征每个字 符的出现。数组初始化为false,遍历一遍字符串中的字符,当bool数组对应位置的值为真, 表明该字符在之前已经出现过,即可得出该字符串中有重复字符。否则将该位置的bool数组 值置为true。代码如下:
bool isUnique1(string s) { bool a[256]; memset(a, 0, sizeof(a));/一定要初始化为0 int len = s.length(); for(int i=0; i < len; ++i) { int v = (int)s[i]; if(a[v]) return false; a[v] = true; } return true; }