class Solution:
# @param {string} s
# @return {string[]}
def findRepeatedDnaSequences(self, s):
ans = []
valCnt = dict()
map = {'A' : 0, 'C' : 1, 'G': 2, 'T' : 3}
sum = 0
for x in range(len(s)):
sum = (sum * 4 + map[s[x]]) & 0xFFFFF
if x < 9:
continue
valCnt[sum] = valCnt.get(sum, 0) + 1
if valCnt[sum] == 2:
ans.append(s[x - 9 : x + 1])
return ans
class Solution:
# @param {string} s
# @return {string[]}
def findRepeatedDnaSequences(self, s):
dict={}
for i in range(len(s)-9):
key = s[i:i+10]
dict[key] = 1 if key not in dict else dict[key] + 1
result = []
for key in dict:
if dict[key] > 1: result.append(key)
return result