class Solution {
public:
int minPathSum(vector<vector<int>>& grid) {
int N = grid.size();
if( N == 0 ) return 0;
int M = grid[0].size();
if( M == 0 ) return 0;
for(int i=1;i<N;i++) grid[i][0] += grid[i-1][0];
for(int j=1;j<M;j++) grid[0][j] += grid[0][j-1];
for(int i=1;i<N;i++){
for(int j=1;j<M;j++){
grid[i][j] = min(grid[i-1][j],grid[i][j-1]) + grid[i][j];
}
}
return grid[N-1][M-1];
}
};
No.64 - LeetCode64
最新推荐文章于 2021-09-13 16:49:45 发布
本文介绍了一种使用动态规划解决二维网格中从左上角到右下角的最小路径和问题的方法。通过累加从起点到达每个点的最小路径和,最终得到整个网格的最小路径总和。
2443

被折叠的 条评论
为什么被折叠?



