Advertisement
Guest User

Untitled

a guest
Sep 15th, 2019
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.75 KB | None | 0 0
  1. # you can write to stdout for debugging purposes, e.g.
  2. # print("this is a debug message")
  3.  
  4. def _cal(preSum, count):
  5. if preSum[0] > count[0]:
  6. return 1
  7. elif preSum[1] > count[1]:
  8. return 2
  9. elif preSum[2] > count[2]:
  10. return 3
  11. else:
  12. return 4
  13.  
  14.  
  15. def solution(S, P, Q):
  16. # write your code in Python 3.6
  17. d = {'A':0, 'C':1, 'G':2, 'T':3}
  18. preSum = [[0, 0, 0, 0] for _ in range(len(S))]
  19. for i, s in enumerate(S):
  20. preSum[i] = preSum[i-1][:]
  21. preSum[i][d[s]] += 1
  22. result = [0] * len(P)
  23. for i in range(len(P)):
  24. x, y = P[i], Q[i]
  25. if x == 0:
  26. count = [0, 0, 0, 0]
  27. else:
  28. count = preSum[x-1]
  29. result[i] = _cal(preSum[y], count)
  30. return result
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement