重复DNA序列
1. LeetCode 187: Repeated DNA Sequence
2. 描述:
所有的DNA序列都是A, C, G, T四种元组组成的,例如“ACGAATTCCG”,当研究DNA时,有时需要找出其中重复的序列。
写一个函数找出所有10个字符长度的子字符串中,重复出现的子串。
3. 示例:
Given
s = "AAAAACCCCCAAAAACCCCCCAAAAAGGGTTT",
Return:
["AAAAACCCCC", "CCCCCAAAAA"].
4. 解决方案:
vector<string> findRepeatedDnaSequences(string s) {
vector<string> res;
if(s.size() < 10) return res;
unordered_map<string,int> strs;
for(int i =0; i < s.length() - 9; i++){
string temp_str = s.substr(i,10);
if(strs[temp_str]++ == 1){
res.push_back(temp_str);
}
}
return res;
}