Guest User

Untitled

a guest
Jun 25th, 2018
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.73 KB | None | 0 0
  1. index_map = {'A':100001,
  2. 'C':100001,
  3. 'G':100001,
  4. 'T':100001}
  5.  
  6. def solution(S, P, Q):
  7. last_location = [[len(S)-1 for i in range(len(S))] for i in range(4)]
  8.  
  9. for index in range(len(S)-1, -1, -1):
  10. if S[index] == 'A':
  11. index_map['A'] = index
  12. last_location[0][index] = index_map['A']
  13. last_location[1][index] = index_map['C']
  14. last_location[2][index] = index_map['G']
  15. last_location[3][index] = index_map['T']
  16. elif S[index] == 'C':
  17. index_map['C'] = index
  18. last_location[0][index] = index_map['A']
  19. last_location[1][index] = index_map['C']
  20. last_location[2][index] = index_map['G']
  21. last_location[3][index] = index_map['T']
  22.  
  23. elif S[index] == 'G':
  24. index_map['G'] = index
  25. last_location[0][index] = index_map['A']
  26. last_location[1][index] = index_map['C']
  27. last_location[2][index] = index_map['G']
  28. last_location[3][index] = index_map['T']
  29. elif S[index] == 'T':
  30. index_map['T'] = index
  31. last_location[0][index] = index_map['A']
  32. last_location[1][index] = index_map['C']
  33. last_location[2][index] = index_map['G']
  34. last_location[3][index] = index_map['T']
  35.  
  36. result_list = []
  37. for index in range(len(P)):
  38. head = P[index]
  39. tail = Q[index]
  40. if last_location[0][head] <= tail:
  41. result_list.append(1)
  42. elif last_location[1][head] <= tail:
  43. result_list.append(2)
  44. elif last_location[2][head] <= tail:
  45. result_list.append(3)
  46. elif last_location[3][head] <= tail:
  47. result_list.append(4)
  48.  
  49. return result_list
Add Comment
Please, Sign In to add comment