首页 > 其他 > 详细

64. Minimum Path Sum

时间:2018-08-30 16:14:21      阅读:175      评论:0      收藏:0      [点我收藏+]

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(object):
    def minPathSum(self, grid):
        """
        :type grid: List[List[int]]
        :rtype: int
        """
        # 行数
        m = len(grid)
        # 列数
        n = len(grid[0])
        for i in range(1,n):
            grid[0][i] += grid[0][i-1]
        for i in range(1,m):
            grid[i][0] += grid[i-1][0]
        for i in range(1,m):
            for j in range(1,n):
                grid[i][j] += min(grid[i-1][j], grid[i][j-1])
        return grid[-1][-1]

 

1,3,1       1,4,5      1,4,5     1,4,5    1,4,5      1,4,5    1,4,5

1,5,1       1,5,1       2,5,1     2,7,1    2,7,6     2,7,6    2,7,6

4,2,1      4,2,1      6,2,1      6,2,1    6,2,1     6,8,1    6,8,7

 

以上为对应的那个数据的变化过程。

64. Minimum Path Sum

原文:https://www.cnblogs.com/jyg694234697/p/9560656.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!