最小路径和
方阵中的最小路径和
给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。
说明:每次只能向下或者向右移动一步。
贪婪法,从终点开始,到每一个方块都计算出最小路径,然后一直反推到起点。
int minPathSum(vector<vector<int>>& grid) {
int m,n;
n=grid.size();
m=grid[0].size();
if(!n)
return 0;
int temp=0;
for(int i=m-1;i>=0;--i) //将最下面一条边和最右边一条的值先计算出来
{
temp+=grid[n-1][i];
grid[n-1][i]=temp;
}
temp=0;
for(int j=n-1;j>=0;--j)
{
temp+=grid[j][m-