Advertisement
simeonshopov

get repeated DNA

Apr 28th, 2020
344
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.88 KB | None | 0 0
  1.  
  2. # 60/100 solution
  3.  
  4. # def get_repeating_DNA(i: str):
  5. #     must_have = ('A', 'G', 'C', 'T')
  6. #     seen = set()
  7. #     repeated = set()
  8. #     for x in range(len(i)):
  9. #
  10. #         word = i[x : x + 10]
  11. #         if word in seen:
  12. #             repeated.add(word)
  13. #         else:
  14. #             seen.add(word)
  15. #     return list(repeated)
  16.  
  17. # 100/100 solution
  18. def get_repeating_DNA(i: str):
  19.     n = len(i)
  20.     d = {}
  21.     res = []
  22.     for x in range(n):
  23.         substr = i[x:x + 10]
  24.         d[substr] = d.get(substr, 0) + 1
  25.     for key, val in d.items():
  26.         if val > 1:
  27.             res.append(key)
  28.     return res
  29.  
  30. test = "AAAAAACCCCAAAAAACCCCTTCAAAATCTTTCAAAATCT"
  31. result = get_repeating_DNA(test)
  32. print(result)
  33. test = "TTCCTTAAGGCCGACTTCCAAGGTTCGATC"
  34. result = get_repeating_DNA(test)
  35. print(result)
  36. test = "AAAAAAAAAAA"
  37. result = get_repeating_DNA(test)
  38. print(result)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement