首页 > 代码库 > leetcode-Minimum Path Sum-64
leetcode-Minimum Path Sum-64
输入一个矩阵,求从左上角走到右下角经过的格子的最小和
第一次用得dfs,超时
正解:dp 和上两题差不多
1 class Solution { 2 public: 3 // void dfs(vector<vector<int> > v,int i,int j,int &ans,int sum){ 4 // if(i==v.size()-1&&j==v[i].size()-1){ 5 // ans=min(ans,sum); 6 // return; 7 // } 8 // if(j+1<v[i].size()){ 9 // dfs(v,i,j+1,ans,sum+v[i][j+1]);10 // }11 // if(i+1<v.size()){12 // dfs(v,i+1,j,ans,sum+v[i+1][j]);13 // }14 // return;15 // }16 int minPathSum(vector<vector<int> >& grid) {17 // if(grid.size()==0) return 0;18 // int ans=INT_MAX;19 // dfs(grid,0,0,ans,grid[0][0]);20 // return ans;21 if(grid.size()==0) return 0;22 for(int i=grid.size()-2;i>=0;i--) grid[i][grid[0].size()-1]+=grid[i+1][grid[0].size()-1];23 for(int i=grid[0].size()-2;i>=0;i--) grid[grid.size()-1][i]+=grid[grid.size()-1][i+1];24 for(int i=grid.size()-2;i>=0;i--){25 for(int j=grid[i].size()-2;j>=0;j--){26 grid[i][j]+=min(grid[i+1][j],grid[i][j+1]);27 }28 }29 return grid[0][0];30 }31 };
leetcode-Minimum Path Sum-64
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。