LeetCode | 64. Minimum Path Sum
来源:互联网 发布:腾讯云和阿里云学生 编辑:程序博客网 时间:2024/04/29 13:07
Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right which minimizes the sum of all numbers along its path.
Note: You can only move either down or right at any point in time.
思路:简单动态规划,考虑用 vector 代替数组,来节省空间。
//数组版,13msclass Solution {public: int minPathSum(vector<vector<int>>& grid) { int m = grid.size(), n = grid[0].size(); long long dp[300][300]; dp[0][0] = grid[0][0]; //初始化边界 for(int i=1;i<m;i++) dp[i][0] = dp[i-1][0]+grid[i][0]; for(int j=1;j<n;j++) dp[0][j] = dp[0][j-1]+grid[0][j]; //处理中间部分 for(int i=1;i<m;i++) { for(int j=1;j<n;j++) { dp[i][j] = min(dp[i-1][j],dp[i][j-1]) + grid[i][j]; } } return dp[m-1][n-1]; }};//vector版,9msclass Solution {public: int minPathSum(vector<vector<int>>& grid) { int m = grid.size(), n = grid[0].size(); vector<vector<int> > dp; vector<int> line0; line0.push_back(grid[0][0]); dp.push_back(line0); //初始化边界 for(int i=1;i<m;i++) { vector<int> tmp; tmp.push_back(dp[i-1][0]+grid[i][0]); dp.push_back(tmp); } for(int j=1;j<n;j++) dp[0].push_back(dp[0][j-1]+grid[0][j]); //处理中间部分 for(int i=1;i<m;i++) { for(int j=1;j<n;j++) { dp[i].push_back(min(dp[i-1][j],dp[i][j-1]) + grid[i][j]); } } return dp[m-1][n-1]; }};
阅读全文
1 0
- [LeetCode]64.Minimum Path Sum
- LeetCode --- 64. Minimum Path Sum
- LeetCode 64.Minimum Path Sum
- [Leetcode] 64. Minimum Path Sum
- [leetcode] 64.Minimum Path Sum
- [leetcode] 64.Minimum Path Sum
- LeetCode 64. Minimum Path Sum
- 64. Minimum Path Sum LeetCode
- [LeetCode]64. Minimum Path Sum
- leetcode 64. Minimum Path Sum
- [leetcode] 64. Minimum Path Sum
- LeetCode 64. Minimum Path Sum
- LeetCode *** 64. Minimum Path Sum
- leetcode 64. Minimum Path Sum
- 【leetcode】64. Minimum Path Sum
- Leetcode:64. Minimum Path Sum
- LeetCode-64.Minimum Path Sum
- LeetCode 64. Minimum Path Sum
- const关键字的用法
- Java中@SuppressWarnings("unchecked")的作用
- 动态规划——最长公共子序列(JAVA)
- 经典汉诺塔代码
- 菱形继承
- LeetCode | 64. Minimum Path Sum
- container with most water
- CQOI2017 小Q的棋盘
- PHP使用CURL详解
- 机器学习
- JVM 结构学习(图文解释)
- C#基础
- 扫描图片
- HDU