LeetCode||64. Minimum Path Sum
2017-11-21 14:28
447 查看
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.
Example 1:
Given the above grid map, return
Because the path 1→3→1→1→1 minimizes the sum.
这题还是类似的动态规划,判断条件变为取两个数之间最小的。
因此,例子中的结果矩阵为:
所以结果为7
class Solution(object):
def minPathSum(self, grid):
"""
:type grid: List[List[int]]
:rtype: int
"""
row = len(grid)
col = len(grid[0])
res = [[0 for i in range(col)] for j in range(row)]
res[0][0] = grid[0][0]
for i in range(1, row):
res[i][0] = res[i-1][0] + grid[i][0]
for i in range(1, col):
res[0][i] = res[0][i-1] + grid[0][i]
for i in range(1, row):
for j in range(1, col):
res[i][j] = min(res[i-1][j], res[i][j-1]) + grid[i][j]
return res[-1][-1]
Note: You can only move either down or right at any point in time.
Example 1:
[[1,3,1], [1,5,1], [4,2,1]]
Given the above grid map, return
7.
Because the path 1→3→1→1→1 minimizes the sum.
这题还是类似的动态规划,判断条件变为取两个数之间最小的。
因此,例子中的结果矩阵为:
[[1,4,5], [2,7,6], [6,8,7]]
所以结果为7
class Solution(object):
def minPathSum(self, grid):
"""
:type grid: List[List[int]]
:rtype: int
"""
row = len(grid)
col = len(grid[0])
res = [[0 for i in range(col)] for j in range(row)]
res[0][0] = grid[0][0]
for i in range(1, row):
res[i][0] = res[i-1][0] + grid[i][0]
for i in range(1, col):
res[0][i] = res[0][i-1] + grid[0][i]
for i in range(1, row):
for j in range(1, col):
res[i][j] = min(res[i-1][j], res[i][j-1]) + grid[i][j]
return res[-1][-1]
相关文章推荐
- 【leetcode】64. Minimum Path Sum【java】
- 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
- [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_middle_60_64. Minimum Path Sum
- LeetCode 64. Minimum Path Sum
- 【LeetCode】64. Minimum Path Sum