[leetcode][DP] Minimum Path Sum
2015-05-17 11:56
453 查看
题目:
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.
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) { if (grid.empty()) return 0; int m = grid.size(); int n = grid[0].size(); //创建table vector<int> dummy(n); vector<vector<int> > table(m); for (int i = 0; i < m; ++i){ table[i] = dummy; } //初始化 table[0][0] = grid[0][0]; for (int i = 1; i < n; ++i){ table[0][i] = table[0][i - 1] + grid[0][i]; } for (int i = 1; i < m; ++i){ table[i][0] = table[i - 1][0] + grid[i][0]; } //可能有两种方式到达(i, j),从start到此位置的最小路径是两者中的较小值 for (int i = 1; i < m; ++i){ for (int j = 1; j < n; ++j){ table[i][j] = grid[i][j] + (table[i - 1][j] < table[i][j - 1] ? table[i - 1][j] : table[i][j - 1]); } } return table[m - 1][n - 1]; } };
相关文章推荐
- leetcode -- Minimum Path Sum -- 简单DP
- Leetcode-Minimum Path Sum(dp)
- LeetCode Minimum Path Sum (简单DP)
- leetcode---minimum-path-sum---dp
- DP问题:leetcode(64) Minimum Path Sum
- LeetCode "Minimum Path Sum" - 2D DP
- 【题解】【矩阵】【DP】【Leetcode】Minimum Path Sum
- 【Leetcode】Minimum Path Sum (DP)
- [LeetCode] Minimum Path Sum
- [LeetCode] Minimum Path Sum
- Leetcode(64)Minimum Path Sum
- LeetCode : Minimum Path Sum
- LeetCode:Minimum Path Sum
- leetcode — minimum-path-sum
- [LeetCode] Minimum Path Sum 最小路径和
- Leetcode: Minimum Path Sum
- leetcode_question_64 Minimum Path Sum
- LeetCode刷题【Array】 Minimum Path Sum
- Minimum path sum--LeetCode
- LeetCode-64-Minimum Path Sum(动态规划)-Medium