Leetcode刷题Python64. 最小路径和

Posted Better Bench

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode刷题Python64. 最小路径和相关的知识,希望对你有一定的参考价值。

1 题目

给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。

说明:每次只能向下或者向右移动一步。

示例 1:

输入:grid = [[1,3,1],[1,5,1],[4,2,1]]
输出:7
解释:因为路径 1→3→1→1→1 的总和最小。

2 解析

用一个一位数组来存储每一行到最右下角的最小路径总和,一行存储一个值。
最后返回最后一个元素就是最小路径目标值

3 Python实现

class Solution:
    def minPathSum(self, grid: List[List[int]]) -> int:
        dp = [float('inf')]*(len(grid[0])+1)
        dp[1] = 0
        for row in grid:
            for idx,num in enumerate(row):
                dp[idx+1] = min(dp[idx],dp[idx+1])+num
        return dp[-1]

以上是关于Leetcode刷题Python64. 最小路径和的主要内容,如果未能解决你的问题,请参考以下文章

Leetcode刷题Python120. 三角形最小路径和

[leetcode] 64. 最小路径和

LeetCode 64. 最小路径和 | Python

Python描述 LeetCode 64. 最小路径和

java刷题--64最小路径和

leetcode刷题(125)——931. 下降路径最小和