1 class Solution 
 2 {
 3 public:
 4     int minPathSum(vector<vector<int>>& grid) 
 5     {
 6         int szrow=grid.size();
 7         int szcol=grid[0].size();
 8         vector<int> cur(szcol,0);
 9         cur[0]=grid[0][0];
10         for(int i=1;i<szcol;i++)
11             cur[i]=grid[0][i]+cur[i-1];
12         for(int i=1;i<szrow;i++)
13         {
14             cur[0]=cur[0]+grid[i][0];
15             for(int j=1;j<szcol;j++)
16                 cur[j]=min(cur[j-1],cur[j])+grid[i][j];
17         }
18         return cur[szcol-1];
19     }
20 };

有点像计算路径那个题,核心方法是一样的,只是这次的变量变为当前最小消耗值而不是之前的当前路径数量。

posted on 2018-07-20 21:10  高数考了59  阅读(137)  评论(0)    收藏  举报