Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for Can Balance by kikurage1001
from typing import Iterable
def can_balance(weights: Iterable) -> int:
if len(weights)==1:
return 0
for i in range(1,len(weights)-1):
left=weights[:i][::-1]
right=weights[i+1:]
left2=0
right2=0
for j in range(0,len(left)):
left2+=left[j]*(j+1)
for j in range(0,len(right)):
right2+=right[j]*(j+1)
if left2==right2:
return i
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!")
Oct. 14, 2021
Comments: