Advertisement
Guest User

Untitled

a guest
May 23rd, 2015
239
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.56 KB | None | 0 0
  1. class Solution:
  2.    
  3.     def minPathSum(self, grid):
  4.         self.g = grid
  5.         self.DP = {}
  6.         return self.dp(len(grid)-1,len(grid[0])-1)+grid[-1][-1]
  7.          
  8.     def dp(self,i,j):
  9.         if i==0 and j==0: return 0;
  10.         try:
  11.              return self.DP[(i,j)]
  12.         except KeyError:
  13.             pass
  14.         path1 = 100000
  15.         path2 = 100000
  16.         if i>0:path1 = self.dp(i-1,j)+self.g[i-1][j];
  17.         if j>0:path2 = self.dp(i,j-1)+self.g[i][j-1];
  18.         path = min(path1,path2)
  19.         self.DP[(i,j)] = path
  20.         return path
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement