Leetcode 187.重复的DNA序列
1 题目描述(Leetcode题目链接)
所有 DNA 都由一系列缩写为 A,C,G 和 T 的核苷酸组成,例如:“ACGAATTCCG”。在研究 DNA 时,识别 DNA 中的重复序列有时会对研究非常有帮助。
编写一个函数来查找目标子串,目标子串的长度为 10,且在 DNA 字符串 s 中出现次数超过一次。
输入:s = "AAAAACCCCCAAAAACCCCCCAAAAAGGGTTT"
输出:["AAAAACCCCC", "CCCCCAAAAA"]
2 题解
集合。
class Solution:
def findRepeatedDnaSequences(self, s: str) -> List[str]:
seen = set()
res = set()
dic = collections.defaultdict(int)
for i in range(len(s) - 9):
if s[i:i+10] in seen:
res.add(s[i:i+10])
seen.add(s[i:i+10])
return list(res)