Skip to content
本页目录

64.最小路径和

题目

给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。

说明: 每次只能向下或者向右移动一步。

示例 1:

shell
输入: grid = [[1,3,1],[1,5,1],[4,2,1]]
输出: 7
解释:因为路径 1  3  1  1  1 的总和最小。

示例 2:

shell
输入: grid = [[1,2,3],[4,5,6]]
输出: 12

提示:

shell
m == grid.length
n == grid[i].length
1 <= m, n <= 200
0 <= grid[i][j] <= 200

解题

确定状态转移方程

js
dp(i, j)
// dp(i - 1, j), dp(i, j - 1)
dp(i, j) = Math.min(dp(i - 1, j), dp(i, j - 1)) + grid[i][j]

特殊解

当走第一行第一列第一个时,即 i == 0 && j == 0,最小路径值为它自身值

js
dp(i, j) = grid[i][j]