Tidy up explode function
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
@@ -74,28 +74,26 @@ def explode(n, lvl=0):
|
||||
return True, 0, left, right
|
||||
lvl += 1
|
||||
res, left, l, r = explode(left, lvl)
|
||||
if not res:
|
||||
res, right, l, r = explode(right, lvl)
|
||||
if not res:
|
||||
return False, n, None, None
|
||||
if res:
|
||||
if r:
|
||||
if isinstance(right, int):
|
||||
right = right + r
|
||||
r = None
|
||||
else:
|
||||
res, right = explode_to_right(right, r)
|
||||
r = None if res else r
|
||||
return True, (left, right), l, r
|
||||
res, right, l, r = explode(right, lvl)
|
||||
if res:
|
||||
if l:
|
||||
if isinstance(left, int):
|
||||
left = left + l
|
||||
l = None
|
||||
else:
|
||||
res, left = explode_to_left(left, l)
|
||||
if res:
|
||||
l = None
|
||||
l = None if res else l
|
||||
return True, (left, right), l, r
|
||||
if r:
|
||||
if isinstance(right, int):
|
||||
right = right + r
|
||||
r = None
|
||||
else:
|
||||
res, right = explode_to_right(right, r)
|
||||
if res:
|
||||
r = None
|
||||
return True, (left, right), l, r
|
||||
return False, n, None, None
|
||||
|
||||
|
||||
def split(n):
|
||||
|
||||
Reference in New Issue
Block a user