Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for Can Balance by wo.tomasz
from typing import Iterable
def can_balance(weights: Iterable) -> int:
if len(weights) < 2:
return len(weights) - 1
for ind in range(1,len(weights)):
l1 = weights[0:ind]
l1.reverse()
l2 = weights[ind+1:]
w1 = sum([l1[id]*(id+1) for id in range(len(l1))])
w2 = sum([l2[id]*(id+1) for id in range(len(l2))])
if w1 == w2:
return ind
return -1
if __name__ == '__main__':
print("Example:")
print(can_balance([6, 1, 10, 5, 4]))
# These "asserts" are used for self-checking and not for an auto-testing
assert can_balance([6, 1, 10, 5, 4]) == 2
assert can_balance([10, 3, 3, 2, 1]) == 1
assert can_balance([7, 3, 4, 2, 9, 7, 4]) == -1
assert can_balance([42]) == 0
print("Coding complete? Click 'Check' to earn cool rewards!")
Dec. 19, 2020
Comments: