Уровень сложности: Средняя (Medium)
Теги: Динамическое программирование, Матрица, Жадные алгоритмы (не подходят!) Дана сетка grid размером m x n, заполненная неотрицательными целыми числами. Найдите путь из левого верхнего угла в правый нижний угол, двигаясь только вправо или вниз, такой, чтобы сумма чисел вдоль пути была минимальной. Верните эту минимальную сумму. Пример 1: Ввод: grid = [[1,3,1],[1,5,1],[4,2,1]] Вывод: 7 Объяснение: Путь 1 → 3 → 1 → 1 → 1 имеет сумму 7 (но это НЕ минимальный!). Минимальный путь: 1 → 1 → 1 → 1 → 1 → сумма = 7? Нет! Правильный путь: 1 → 1 → 4 → 2 → 1? Нет! Фактически: 1 → 1 → 5 → 1 → 1 — тоже не то. А вот: 1 → 3 → 1 → 1 → 1 = 7 ИЛИ: 1 → 1 → 1 → 1 → 1 = **1+1+1+1+1 = 5**? Но такой путь невозможен! Давайте посчитаем правильно: Путь: (0,0) → (1,0) → (1,1) → (1,2) → (2,2) = 1 + 1 + 5 + 1 + 1 = **9** А вот оптимальный: (0,0) → (0,1) → (0,2) → (1,2) → (2,2) = 1 + 3 + 1 + 1 + 1 = **7** Но есть ещё лучше: (0,0) → (1,0) → (2,0) → (2,1) → (2,2) = 1 + 1 + 4 + 2 +