187. 重复的DNA序列

布满荆棘的人生 2022-12-12 15:22 236阅读 0赞

所有 DNA 都由一系列缩写为 A,C,G 和 T 的核苷酸组成,例如:“ACGAATTCCG”。在研究 DNA 时,识别 DNA 中的重复序列有时会对研究非常有帮助。

编写一个函数来查找目标子串,目标子串的长度为 10,且在 DNA 字符串 s 中出现次数超过一次。

示例:

输入:s = “AAAAACCCCCAAAAACCCCCCAAAAAGGGTTT”
输出:[“AAAAACCCCC”, “CCCCCAAAAA”]

来源:力扣(LeetCode)

题目连接

代码:

  1. class Solution {
  2. public:
  3. vector<string> findRepeatedDnaSequences(string s) {
  4. int i;
  5. map<string,int> m;
  6. vector<string> v;
  7. if(s.length()<10){
  8. return v;
  9. }
  10. for(i=0;i<s.length()-9;i++){
  11. string str=s.substr(i, 10);
  12. m[str]++;
  13. }
  14. map<string,int>::iterator it;
  15. for(it=m.begin();it!=m.end();it++){
  16. if(it->second>1){
  17. v.push_back(it->first);
  18. }
  19. }
  20. return v;
  21. }
  22. };

发表评论

表情:
评论列表 (有 0 条评论,236人围观)

还没有评论,来说两句吧...

相关阅读

    相关 重复DNA序列

    题目描述 DNA序列 由一系列核苷酸组成,缩写为 ‘A’, ‘C’, ‘G’ 和 ‘T’.。 例如,“ACGAATTCCG” 是一个 DNA序列 。 在研究 DNA