DAY24:leetcode #64 Minimum Path Sum

来源:互联网 发布:针织女套裙淘宝网 编辑:程序博客网 时间:2024/06/09 22:29

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.

Subscribe to see which companies asked this question

class Solution(object):    def findPath(self, m, n):        if (m,n) in self.cache:            return self.cache[(m,n)]        temp = 99999        if m < self.r:            temp = self.grid[m][n] + self.findPath(m + 1, n)        if n < self.c:            temp = min(self.grid[m][n] + self.findPath(m, n + 1),temp)        self.cache[(m,n)] = temp        return self.cache[(m,n)]    def minPathSum(self, grid):        """        :type grid: List[List[int]]        :rtype: int        """        self.grid = grid        self.r = len(grid) - 1        self.c = len(grid[0]) - 1        self.cache = {(self.r, self.c): grid[self.r][self.c]}        return self.findPath(0, 0)


0 0
原创粉丝点击