Ctrl K

Дешёвый спуск с пирамиды

Средняя
Числа сложены пирамидой: в строке i (с нуля) ровно i + 1 чисел, pyramid[i][j] — плата за то, чтобы встать на клетку j этой строки. Вы стартуете на вершине pyramid[0][0] и спускаетесь по одной строке за шаг до самого низа. С клетки j можно шагнуть на клетку j или j + 1 строки ниже. Стоимость спуска — сумма всех чисел на пути, включая вершину и клетку в нижней строке. Верните минимальную стоимость спуска. Попробуйте обойтись O(n) дополнительной памяти, где n — число строк.
Пример 1
pyramid=[[3], [7, 1], [2, 9, 4], [8, 5, 6, 1]] → 9

Выгоднее всего 3 → 1 → 4 → 1, сумма 9. Жадный выбор не всегда помогает: путь через 7 и 2 даёт уже 3 + 7 + 2 + 5 = 17.

Пример 2
pyramid=[[-2], [5, -6]] → -8

Из вершины спускаемся на −6: −2 + (−6) = −8.

Пример 3
pyramid=[[4]] → 4
Ограничения
  • 1 ≤ len(pyramid) ≤ 200
  • len(pyramid[i]) = i + 1
  • -10⁴ ≤ pyramid[i][j] ≤ 10⁴
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиМеньше всего прыжков до конца СредняяСамая прибыльная серия дней СредняяДобраться до последней клетки СредняяМаршруты тележки по складу СредняяДешёвый маршрут из угла в угол Средняя
загружаем Python…
Вход
pyramid=[[3], [7, 1], [2, 9, 4], [8, 5, 6, 1]]
Ожидается
9

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 90 тестов на сервере, включая скрытые.