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

 

posted @ 2015-02-19 11:53  Justin.cn  阅读(226)  评论(0编辑  收藏  举报