首页 > 代码库 > crack the code interiview C++

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;}


 

crack the code interiview C++