
Stair Steps
Есть лестница с N ступеньками и двумя площадками - одна вначале и одна в конце. На каждой ступеньке есть число (от -100 до 100 кроме 0). И на площадках написаны нули. Вы находитесь на первой площадке и надо оказаться на второй. Для этого вы можете шагнуть на следующую ступеньку или через одну. Вам нужно найти такой путь, чтобы сумма чисел на ступеньках куда вы наступаете была максимально возможной для данной лестницы. Результатом должна быть эта сумма.
Входные данные: Числа на ступеньках, как список (list) целых чисел (int).
Выходные данные: Сумма чисел для наилучшего маршрута, как целое число (int).
Примеры:
checkio([5, -3, -1, 2]) == 6 checkio([5, 6, -10, -7, 4]) == 8 checkio([-11, 69, 77, -51, 23, 67, 35, 27, -25, 95]) == 393 checkio([-21, -23, -69, -67, 1, 41, 97, 49, 27]) == 125
Зачем это нужно: Это классическая задача на оптимизацию. А также вы можете сравнить разные подходы, как рекурсия и динамическое программирование.
Предусловия:...
0 < len(steps) ≤ 10
all(-100 < x < 100 and x for x in steps)