每日一道leetcode(python)187. 重复的DNA序列

每日一道leetcode(python)187. 重复的DNA序列

2021-08-02

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

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

示例 1:

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

输入:s = "AAAAAAAAAAAAA"
输出:["AAAAAAAAAA"]

提示:

0 <= s.length <= 105
s[i]'A''C''G''T'

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/repeated-dna-sequences
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

目标子串的长度为 10,且在 DNA 字符串 s 中出现次数超过一次。

class Solution:
    def findRepeatedDnaSequences(self, s: str) -> List[str]:
        n = len(s)
        result = []
        dic = {}
        for i in range(0, n - 9):
            tmp = s[i: i + 10]
            if tmp not in dic:
                dic[tmp] = 1
            else:
                dic[tmp] += 1
            if dic[tmp] == 2:
                result.append(tmp)
        return result

你可能感兴趣的:(每日一道leetcode,python)