Минимальный путь по сетке
Из угла в угол по сетке, только вправо и вниз — минимальная сумма маршрута.
1function minPathSum(grid: number[][]): number {2 const rows = grid.length3 const cols = grid[0]!.length4 // d[r][c] — минимальная сумма до клетки (r, c)5 const d = grid.map((row) => row.slice())6 7 for (let r = 0; r < rows; r++) {8 for (let c = 0; c < cols; c++) {9 if (r === 0 && c === 0) continue10 const fromTop = r > 0 ? d[r - 1]![c]! : Infinity11 const fromLeft = c > 0 ? d[r]![c - 1]! : Infinity12 d[r]![c]! += Math.min(fromTop, fromLeft)13 }14 }15 16 return d[rows - 1]![cols - 1]!17}Проблема
Из угла в угол по сетке, только вправо и вниз — минимальная сумма маршрута.
Что вы видите
Каждая клетка спрашивает соседей сверху и слева; в конце маршрут подсвечивается обратным ходом.
Как это работает
d[r][c] = цена клетки + min(сверху, слева). Одна таблица за O(rows·cols) даёт и стоимость, и сам маршрут. Базовая модель всех сеточных DP и тайловых карт.
Пошаговый разбор
- 01
Клетка
Цена + лучший из соседей.
- 02
Волна
Сверху-вниз, слева-направо.
- 03
Маршрут
Обратный ход по таблице.
Complexity и ограничения
Сложность см. в шапке страницы.
Edge cases
- Пустой вход
Корректная тривиальная обработка.
- Вырожденный случай
Минимум работы — сразу ответ.
Где встречается в реальности
Игры
Стоимость перемещения по тайловым картам.
Логистика
Дешёвый маршрут по сетке кварталов.
Роботы
Планирование пути складских AGV.
Связанные алгоритмы
«Дешёвый маршрут по сетке»
Тот же сценарий StepSequence в вертикальной композиции — с safe zones и записью WebM ниже на странице.
Shorts 9:16
Вертикальная композиция строится той же последовательностью шагов, что и страница: safe zones отмечены пунктиром (там живёт UI платформ), биты сценария подсвечиваются по прогрессу. Кнопка записи сохраняет WebM — детерминированная StepSequence даёт воспроизводимый ролик без монтажа.