class Solution {
public int minPathSum(int[][] grid) {
int m = grid.length; // 行数
int n = grid[0].length; // 列数
int[][] dp = new int[m][n]; // todo dp定义:到i和j位置最短路径总和
dp[0][0] = grid[0][0]; // todo dp初始化第一行第一列
// todo dp 初始化 第一行
for (int i = 1; i < n; i++) {
dp[0][i] = dp[0][i - 1] + grid[0][i];
}
// todo dp初始化 第一列
for (int j = 1; j < m; j++) {
dp[j][0] = dp[j - 1][0] + grid[j][0];
}
for (int j = 1; j < m; j++) {
for (int i = 1; i < n; i++) {
dp[j][i] = Math.min(dp[j][i - 1], dp[j - 1][i]) + grid[j][i]; // todo 这里注意要加上grid
}
}
return dp[m - 1][n - 1];
}
}
Hot100【七十五】:64. 最小路径和
最新推荐文章于 2024-09-13 14:59:21 发布