Advertisement
Guest User

Untitled

a guest
Feb 27th, 2020
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.09 KB | None | 0 0
  1. def sum_tree(tree):
  2. l_or_r = True #True = L, False = R
  3. l_size = 1
  4. l_gaps = 0
  5. r_size = 1
  6. r_gaps = 0
  7. row = 0
  8. left_sum = 0
  9. right_sum = 0
  10. if tree == []:
  11. return ''
  12. for i in range(1, len(tree)):
  13. if l_or_r == True:
  14. if tree[i] != -1:
  15. left_sum += tree[i]
  16. if tree[i] == -1:
  17. l_gaps += 1
  18. l_size -= 1
  19. else:
  20. if tree[i] != -1:
  21. right_sum += tree[i]
  22. if tree[i] == -1:
  23. r_gaps += 1
  24. r_size -= 1
  25.  
  26. if l_or_r == True and l_size == 0:
  27. l_or_r = False
  28. l_gaps = l_gaps * 2
  29. l_size = 2 ** (row + 1) - l_gaps
  30. if l_or_r == False and r_size == 0:
  31. l_or_r = True
  32. r_gaps = r_gaps * 2
  33. r_size = 2 ** row - r_gaps
  34. row += 1
  35. print(left_sum)
  36. print(right_sum)
  37.  
  38. if left_sum > right_sum:
  39. return "Left"
  40. if right_sum > left_sum:
  41. return "Right"
  42. if right_sum == left_sum:
  43. return ""
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement