最小路径和

题源:LeetCode

链接:https://leetcode-cn.com/problems/minimum-path-sum/

 

 

 

还是一道经典的动态规划题

 1 class Solution {
 2 public:
 3     int minPathSum(vector<vector<int>>& grid) {
 4         int glength = grid[0].size();
 5         int width = grid.size();
 6         vector<vector<int>> dp(width,vector<int>(glength));
 7         dp[0][0] = grid[0][0];
 8 
 9         for(int i = 1;i<glength;i++){
10             dp[0][i] = dp[0][i-1]+grid[0][i];
11         }
12 
13         for(int j = 1;j<width;j++){
14             dp[j][0] = dp[j-1][0]+grid[j][0];
15         }
16 
17         for(int i = 1;i<max(glength,width);i++){
18             for(int j = 1;j<=i;j++){
19                 dp[i][j] = min(dp[i-1][j],dp[i][j-1])+grid[i][j];
20             }
21         }
22 
23         return dp[width-1][glength-1];
24 
25     }
26 };

 

另外昨天接触到了滚动数组思想,今天来学习一下。

https://blog.csdn.net/weixin_40295575/article/details/80181756

 

posted @ 2021-08-09 09:18  Danae丶  阅读(30)  评论(0编辑  收藏  举报