Leetcode187-重复的DNA序列
思路:滑动窗口;使用set()去重复。
遍历长度为L的子串,如果子串没出现过,则加入visited,如果子串在visited中出现过,则是要寻找的目标子串,加入到最终的结果中。
要注意:如果直接使用列表,则可能出现重复子串,使用set函数去重复。
class Solution:
def findRepeatedDnaSequences(self, s: str) -> List[str]:
L = 10
visited = set()
res = set()
for i in range(len(s) - L + 1):
if s[i: i+L] not in visited:
visited.add(s[i: i+L])
else:
res.add(s[i: i+L])
return list(res)