码迷,mamicode.com
首页 > 其他好文 > 详细

leetcode 每日一题 64. 最小路径和

时间:2020-06-07 14:57:26      阅读:52      评论:0      收藏:0      [点我收藏+]

标签:技术   int   ret   style   sum   每日   leetcode   loading   code   

技术图片

动态规划

思路:

dp[i][j]表示走完 i,j 位置所需的最短路径,由于只能向下或者向右,所以第一行和第一列中每个值为当前值加上前一个值,即dp[0][j]=dp[0]

[j]+dp[0][j-1],dp[i][0] = dp[i][0]+dp[i-1][0]。非第一行和第一列的值为当前值加上其上边与左边中的较小值,即dp[i][j] = dp[i][j] + min(dp[i-1]

[j],dp[i][j-1])

代码:

class Solution:
    def minPathSum(self, grid: List[List[int]]) -> int:
        if not grid:
            return 0
        rowSize = len(grid)
        colSize = len(grid[0])
        for i in range(1,colSize):
            grid[0][i] = grid[0][i] + grid[0][i-1]
        for j in range(1,rowSize):
            grid[j][0] = grid[j][0] + grid[j-1][0]
        for i in range(1,rowSize):
            for j in range(1,colSize):
                grid[i][j] = grid[i][j]+min(grid[i-1][j],grid[i][j-1])
        return grid[-1][-1]

 

leetcode 每日一题 64. 最小路径和

标签:技术   int   ret   style   sum   每日   leetcode   loading   code   

原文地址:https://www.cnblogs.com/nilhxzcode/p/13060383.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!