Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
Dynamic Programming solution in Uncategorized category for Stair Steps by H0lyD4wg
def checkio(xs):
xs.append(0)
ys = [0, xs[0]]
for x in xs[1:]:
ys.append(x+max(ys[-1], ys[-2]))
return ys[-1]
if __name__ == '__main__':
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'
assert checkio([5,-3,-1,2]) == 6, 'Fifth'
print('All ok')
Dec. 21, 2012