Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # 60/100 solution
- # def get_repeating_DNA(i: str):
- # must_have = ('A', 'G', 'C', 'T')
- # seen = set()
- # repeated = set()
- # for x in range(len(i)):
- #
- # word = i[x : x + 10]
- # if word in seen:
- # repeated.add(word)
- # else:
- # seen.add(word)
- # return list(repeated)
- # 100/100 solution
- def get_repeating_DNA(i: str):
- n = len(i)
- d = {}
- res = []
- for x in range(n):
- substr = i[x:x + 10]
- d[substr] = d.get(substr, 0) + 1
- for key, val in d.items():
- if val > 1:
- res.append(key)
- return res
- test = "AAAAAACCCCAAAAAACCCCTTCAAAATCTTTCAAAATCT"
- result = get_repeating_DNA(test)
- print(result)
- test = "TTCCTTAAGGCCGACTTCCAAGGTTCGATC"
- result = get_repeating_DNA(test)
- print(result)
- test = "AAAAAAAAAAA"
- result = get_repeating_DNA(test)
- print(result)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement