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;
}
};
187. Repeated DNA Sequences
最新推荐文章于 2022-07-28 15:01:27 发布