64. 最小路径和

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

 

posted @ 2020-03-20 15:07  Jinxiaobo0509  阅读(110)  评论(0)    收藏  举报