Вы на первой ступеньке лестницы длиной в n ступенек, вы можете передвигаться таким способом: наступить на следующую ступеньку, или перешагнуть через одну. При этом на каждой ступеньке вы платите какое-то количество денег. Стоимость первой ступеньки также учитывается. Ваша цель — подняться на последнюю ступеньку, заплатив как можно меньше денег.
solutions/solution.js
Решите это упражнение, используя динамическое программирование.
Реализуйте функцию, возвращающую минимальную стоимость за которую мы можем подняться.
Функция принимает массив чисел, где число — количество денег которое мы заплатим на ступеньке, сама ступенька это индекс элемента массива.
Экспортируйте функцию по умолчанию.
import solution from './solutions/solution.js';
const stairs = [1, 13, 17, 2, 8, 7, 19, 6];
solution(stairs); // 29
solutions/solution.php
Условия такие же как для JavaScript.
<?php
$stairs = [1, 13, 17, 2, 8, 7, 19, 6];
solution($stairs); // 29
solutions/solution.py
Условия такие же как для JavaScript.
from solution import solution
stairs = [1, 13, 17, 2, 8, 7, 19, 6]
solution(stairs) # 29
solutions/Solution.java
В файле определите пакет solutions
и создайте в нем публичный класс Solution
. В классе создайте публичный статический метод run()
, возвращающий минимальную стоимость за которую мы можем подняться.
Функция принимает список List
целых чисел чисел, где число — количество денег которое мы заплатим на ступеньке, а сама ступенька это индекс элемента в списке.
List<Integer> stairs = List.of(1, 13, 17, 2, 8, 7, 19, 6);
Solution.run(stairs); // 29
Подсказки
Для полного доступа к испытанию нужен базовый план
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.