Leetcode-Minimum Path Sum(dp)
2017-10-02 13:40
441 查看
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.
class Solution {
public:
int minPathSum(vector<vector<int>>& grid) {
int m = grid.size();
int n = grid[0].size();
vector<vector<int>> res(m,vector<int>(n,grid[0][0]));
for(int i=1;i<m;i++)
res[i][0]=res[i-1][0]+grid[i][0];
for(int j=1;j<n;j++)
res[0][j]=res[0][j-1]+grid[0][j];
for(int i=1;i<m;i++)
for(int j=1;j<n;j++)
res[i][j]=min(res[i-1][j],res[i][j-1])+grid[i][j];
return res[m-1][n-1];
}
};
Note: You can only move either down or right at any point in time.
class Solution {
public:
int minPathSum(vector<vector<int>>& grid) {
int m = grid.size();
int n = grid[0].size();
vector<vector<int>> res(m,vector<int>(n,grid[0][0]));
for(int i=1;i<m;i++)
res[i][0]=res[i-1][0]+grid[i][0];
for(int j=1;j<n;j++)
res[0][j]=res[0][j-1]+grid[0][j];
for(int i=1;i<m;i++)
for(int j=1;j<n;j++)
res[i][j]=min(res[i-1][j],res[i][j-1])+grid[i][j];
return res[m-1][n-1];
}
};
相关文章推荐
- leetcode -- Minimum Path Sum -- 简单DP
- LeetCode "Minimum Path Sum" - 2D DP
- LeetCode Minimum Path Sum (简单DP)
- [leetcode][DP] Minimum Path Sum
- 【题解】【矩阵】【DP】【Leetcode】Minimum Path Sum
- DP问题:leetcode(64) Minimum Path Sum
- leetcode---minimum-path-sum---dp
- 【Leetcode】Minimum Path Sum (DP)
- Leetcode-64_. Minimum Path Sum(最小路径和)—动态规划解法+记忆化搜索解法-C++解
- [LeetCode] Minimum Path Sum
- [leetcode] Minimum Path Sum
- Leetcode Minimum Path Sum
- [LeetCode] Minimum Path Sum
- Leetcode: Minimum Path Sum
- 算法分析与设计——LeetCode Problem.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 -- Minimum Path Sum