赞
踩
怎么最近全是这种题)又是动态规划,和上上题类似。
- class Solution {
- public:
- int minPathSum(vector<vector<int>>& grid) {
- int m=grid.size();
- int n=grid[0].size();
- for(int i=0;i<m;i++){
- for(int j=0;j<n;j++){
- if(i==0&&j==0) continue;
- else if(i==0) grid[i][j]=grid[i][j-1]+grid[i][j];
- else if(j==0) grid[i][j]=grid[i-1][j]+grid[i][j];
- else grid[i][j]=min(grid[i-1][j],grid[i][j-1])+grid[i][j];
- }
- }
- return grid[m-1][n-1];
- }
- };

可以直接用原数组储存最优路径,不需要建立新数组增加空间复杂度。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。