64 Minimum Path Sum

基本动态规划,类似于数字三角形。

class Solution(object):
    def minPathSum(self, grid):
        """
        :type grid: List[List[int]]
        :rtype: int
        """
        if len(grid) == 0 or len(grid[0]) == 0:
            return 0
        row, column = len(grid), len(grid[0])
        for i in range(row - 2, -1, -1):
            grid[i][column - 1] += grid[i + 1][column - 1]
        for j in range(column - 2, -1, -1):
            grid[row - 1][j] += grid[row - 1][j + 1]
        for i in range(row - 2, -1, -1):
            for j in range(column - 2, -1, -1):
                grid[i][j] += min(grid[i][j+1], grid[i+1][j])
        return grid[0][0]

results matching ""

    No results matching ""