Leetcode OJ : Repeated DNA Sequences hash python solution

Total Accepted: 3790 Total Submissions: 21072

 
 

All DNA is composed of a series of nucleotides abbreviated as A, C, G, and T,

for example: "ACGAATTCCG".

When studying DNA, it is sometimes useful to identify repeated sequences within the DNA.

Write a function to find all the 10-letter-long sequences (substrings)

that occur more than once in a DNA molecule.

For example,

Given s = "AAAAACCCCCAAAAACCCCCCAAAAAGGGTTT", Return: ["AAAAACCCCC", "CCCCCAAAAA"].

 

很水的hashtable

 1 class Solution:

 2     # @param s, a string

 3     # @return a list of strings

 4     def findRepeatedDnaSequences(self, s):

 5         hashset, addedset, retlist = set(), set(), []

 6         for x in range(len(s)):

 7             substr = s[x: x + 10]

 8             if substr in hashset:

 9                 if substr not in addedset:

10                     retlist.append(substr)

11                     addedset.add(substr)

12             else:

13                 hashset.add(substr)

14         return retlist

 

你可能感兴趣的:(LeetCode)