给定一个 m × n 大小的非负整数矩阵,求从左上角开始到右下角结束的、经过的数字的和最小的路径。每次只能向右或者向下移动。
输入
输入是一个二维数组
输出
输出是最优路径的数字和。
样例
标准输入 复制文本 |
[[1,3,1], [1,5,1], [4,2,1]] |
标准输出 复制文本 |
7 |
提示
我们可以定义一个同样是二维的 dp 数组,其中 dp[i][j] 表示从左上角开始到 (i, j) 位置的最优路径的数字和。因为每次只能向下或者向右移动,我们可以很容易得到状态转移方程 dp[i][j] =min(dp[i-1][j], dp[i][j-1]) + grid[i][j],其中 grid 表示原数组。