var minPathSum = function(grid) {
let m = grid.length, n = grid[0].length;
let res = Array.from(Array(m), () => new Array(n).fill(0));
//动态规划填表
//初始化最后一行和最后一列
res[m - 1][n - 1] = grid[m - 1][n - 1];
for(let j = n - 2; j >= 0; j--)
res[m - 1][j] = res[m - 1][j + 1] + grid[m - 1][j];
for(let i = m - 2; i >= 0; i--)
res[i][n - 1] = res[i + 1][n - 1] + grid[i][n - 1];
//从下往上从左往右填表
for(let i = m - 2; i >= 0; i--)
for(let j = n - 2; j >= 0; j--)
res[i][j] = Math.min(res[i + 1][j], res[i][j + 1]) + grid[i][j];
//返回最后一个填表的值
return res[0][0];
};
JS力扣刷题64. 最小路径和
最新推荐文章于 2024-07-22 15:13:59 发布