Javascript: Вверх по лестнице

Основы алгоритмов и структур данных
Обновлено: 29 нояб., 12:31
221
Студент
80%
Завершения

Вы на первой ступеньке лестницы длиной в 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

Подсказки

Для полного доступа к испытанию нужен базовый план

Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.

Получить доступ
1000
упражнений
2000+
часов теории
3200
тестов