class Solution {
public:
int minPathSum(vector<vector<int>>& grid) {
int length_hang = grid.size();
int length_lie = grid[0].size();
cout<<length_hang<<" "<<length_lie<<endl;
int record[length_hang][length_lie]; //记录[0,0]-->[i,j]
record[0][0] = grid[0][0];
for(int i=1;i<length_lie;i++) //第一行最小路径和
{
record[0][i] = record[0][i-1]+grid[0][i];
}
for(int i=1;i<length_hang;i++) //第一列最小路径和
{
record[i][0] = record[i-1][0]+grid[i][0];
}
for(int i=1;i<length_hang;i++) //第[i,j]最小路径和
{
for(int j=1;j<length_lie;j++)
{
record[i][j]=min(record[i-1][j],record[i][j-1])+grid[i][j];
}
}
return record[length_hang-1][length_lie-1];
}
};
力扣64.最小路径和(动态规划)
最新推荐文章于 2024-09-29 16:57:04 发布