Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def sum_tree(tree):
- l_or_r = True #True = L, False = R
- l_size = 1
- l_gaps = 0
- r_size = 1
- r_gaps = 0
- row = 0
- left_sum = 0
- right_sum = 0
- if tree == []:
- return ''
- for i in range(1, len(tree)):
- if l_or_r == True:
- if tree[i] != -1:
- left_sum += tree[i]
- if tree[i] == -1:
- l_gaps += 1
- l_size -= 1
- else:
- if tree[i] != -1:
- right_sum += tree[i]
- if tree[i] == -1:
- r_gaps += 1
- r_size -= 1
- if l_or_r == True and l_size == 0:
- l_or_r = False
- l_gaps = l_gaps * 2
- l_size = 2 ** (row + 1) - l_gaps
- if l_or_r == False and r_size == 0:
- l_or_r = True
- r_gaps = r_gaps * 2
- r_size = 2 ** row - r_gaps
- row += 1
- print(left_sum)
- print(right_sum)
- if left_sum > right_sum:
- return "Left"
- if right_sum > left_sum:
- return "Right"
- if right_sum == left_sum:
- return ""
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement