187. Repeated DNA Sequences

来源:互联网 发布:金蝶网络破解版 编辑:程序博客网 时间:2024/05/23 14:30
class Solution {public:    vector<string> findRepeatedDnaSequences(string s) {        unordered_map<int,int> m;//先讲string 映射成int 再进行hash 否则超内存        int hashindex=0;        int len=10;        int n=s.size();        vector<string> result;        for(int i=0;i<len-1&&i<n;i++)        {            hashindex=(hashindex<<3)|(s[i]&0x07);//每个s[i]取最后3个bit作为标记        }        for(int i=len-1;i<n;i++)        {            hashindex=((hashindex<<3)&0x3fffffff)|(s[i]&0x07);            m[hashindex]++;            int temp=m[hashindex];            if(temp==2)            {                result.push_back(s.substr(i-len+1,len));            }        }        return result;    }};
1 0
原创粉丝点击