classSolution(object):defminPathSum(self,grid):""" :type grid: List[List[int]] :rtype: int """m=len(grid)n=len(grid[0])ifm<2orn<2:returnsum([sum(i)foriingrid])# single row or columnforiinxrange(1,m):# set first columngrid[i][0]+=grid[i-1][0]foriinxrange(1,n):# set first rowgrid[0][i]+=grid[0][i-1]foriinxrange(1,m):forjinxrange(1,n):grid[i][j]+=grid[i-1][j]ifgrid[i-1][j]<grid[i][j-1]elsegrid[i][j-1]returngrid[-1][-1]if__name__=="__main__":answer=Solution()printanswer.minPathSum([[1,2],[4,5]])