题意:给出一个字符串,求所有长度为10的重复出现次数大于1的子串。
题解:hash。
class Solution {
public:
vector<string> findRepeatedDnaSequences(string s) {
unordered_map<string,int> hash;
vector<string> ans;
hash.clear();
ans.clear();
int n = s.length();
for(int i = 0; i < n - 9; i++)
{
string tmp = s.substr(i,10);
if(hash.find(tmp) == hash.end())
{
hash[tmp] = 1;
}
else if(hash[tmp] == 1)
{
ans.push_back(tmp);
hash[tmp]++;
}
}
return ans;
}
};