DP:
class Solution {
public:
int minPathSum(vector<vector<int> > &grid) {
int m=grid.size();
if (!m) return 0;
int n=grid[0].size();
vector<vector<int> > res(grid);
for (int i=n-2; i>=0; i--) {
res[m-1][i] += res[m-1][i+1];
}
for (int i=m-2; i>=0; i--) {
res[i][n-1] +=res[i+1][n-1];
}
for (int i=m-2; i>=0; i--){
for (int j=n-2; j>=0; j--) {
res[i][j] += (res[i][j+1]<res[i+1][j]?res[i][j+1]:res[i+1][j]);
}
}
return res[0][0];
}
};
动态规划求解最小路径和
321

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



