LeetCode 187. 重复的DNA序列

所有 DNA 都由一系列缩写为 A,C,G 和 T 的核苷酸组成,例如:“ACGAATTCCG”。在研究 DNA 时,识别 DNA 中的重复序列有时会对研究非常有帮助。
编写一个函数来查找目标子串,目标子串的长度为 10,且在 DNA 字符串 s 中出现次数超过一次。

示例:
输入:s = "AAAAACCCCCAAAAACCCCCCAAAAAGGGTTT"
输出:["AAAAACCCCC", "CCCCCAAAAA"]

class Solution:
    def findRepeatedDnaSequences(self, s: str) -> List[str]:
        cnt = 0
        substr_dict = {}
        while cnt+10 <= len(s):
            substr = s[cnt:cnt+10]
            cnt+=1
            if substr not in substr_dict:
                substr_dict[substr] = 0
            substr_dict[substr]+=1
        ans = set()
        for substr in substr_dict:
            if substr_dict[substr]>1:
                ans.add(substr)

        return list(ans)
原文地址:https://www.cnblogs.com/sandy-t/p/13288183.html