动态规划题目,创建一个与grid一样大小的G,G里面存储到达每个点的最小距离,然后把G的所有点填满,最后右下角的值既是结果。
class Solution(object):
def minPathSum(self, grid):
"""
:type grid: List[List[int]]
:rtype: int
"""
m = len(grid)
n = len(grid[0])
G = [[999999 for i in range(n)] for j in range(m)]
for j in range(0,m):
for i in range(0,n):
if i==0 and j==0:
G[j][i]= grid[j][i]
continue
G[j][i] = min(G[j][i-1],G[j-1][i]) + grid[j][i]
return G[m-1][n-1]