Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
It works solution in Clear category for Stair Steps by Phil15
def checkio(numbers):
if len(numbers)==0:
return 0
if len(numbers)==1:
return max(0, numbers[0])
if numbers[0]>=0:
return numbers[0]+checkio(numbers[1:])
else:
if numbers[1]>=0:
return numbers[1]+checkio(numbers[2:])
return max(numbers[0]+checkio(numbers[1:]), numbers[1]+checkio(numbers[2:]))
if __name__ == '__main__':
assert checkio([5, -3, -1, 2]) == 6, 'Fifth'
assert checkio([5, 6, -10, -7, 4]) == 8, 'First'
assert checkio([-11, 69, 77, -51, 23, 67, 35, 27, -25, 95]) == 393, 'Second'
assert checkio([-21, -23, -69, -67, 1, 41, 97, 49, 27]) == 125, 'Third'
print('All ok')
March 28, 2018