用set去重复元素,最后 112 ms:
class Solution:
# @param s, a string
# @return a list of strings
def findRepeatedDnaSequences(self, s):
d = {}
i = len(s)
l = []
index = 0
flag = False
if i < 10:
return l
else:
while index <= i - 10:
substr = s[index:index+10]
if d.has_key(substr):
l.append(substr)
else:
d[substr] = 1
index += 1
return list(set(l))
直接遍历的话, 99 ms:
class Solution:
# @param s, a string
# @return a list of strings
def findRepeatedDnaSequences(self, s):
d = {}
i = len(s)
l = []
index = 0
flag = False
if i < 10:
return l
else:
while index <= i - 10:
substr = s[index:index+10]
if d.has_key(substr):
for str in l:
if str == substr:
flag = True
break
if not flag:
l.append(substr)
else:
d[substr] = 1
index += 1
return l
但是每次运行时间也不太一样。。。不知道到底准不准