题解 | #矩阵的最小路径和#

矩阵的最小路径和

https://www.nowcoder.com/practice/7d21b6be4c6b429bb92d219341c4f8bb

动态规划

(1)初始化二维或者一维数组

(2)找递推公式

(3)完成对dp数组的填充

class Solution:
    def minPathSum(self, matrix: List[List[int]]) -> int:
        x = len(matrix)
        y = len(matrix[0])
        dp = [[0] * x for i in range(y)]
        #对二维数组初始化
        for i in range(y):
            if i == 0:
                dp[0][i] = matrix[0][i]
            else:
                dp[0][i] = matrix[0][i] + dp[0][i - 1]
        for i in range(1,x):
                dp[i][0] = matrix[i][0] + dp[i-1][0]
		#对dp数组完成赋值
        for i in range(1,x):
            for j in range(1,y):
                dp[i][j]=min(dp[i-1][j]+matrix[i][j],dp[i][j-1]+matrix[i][j])
        return dp[x-1][y-1]

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务