zoukankan      html  css  js  c++  java
  • leetcode64:最小路径和

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

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

    示例:

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

    ===============================================Python============================================

    class Solution:
        def minPathSum(self, grid: List[List[int]]) -> int:
            dp = [grid[0][0]]
            s = grid[0][0]
            for i in range(1, len(grid[0])):
                dp.append(grid[0][i] + s)
                s += grid[0][i]
            for i in range(1, len(grid)):
                for j in range(len(grid[0])):
                    if j == 0:
                        dp[j] = dp[j] + grid[i][j]
                    else:
                        dp[j] = min(dp[j-1], dp[j]) + grid[i][j]
            return dp[-1]
  • 相关阅读:
    2019/1/2
    2018/12/22
    2018/12/18
    2018/12/17
    2018/12/16
    编程总结汇总
    学习总结汇总
    第十三周学习总结--助教
    第十一周编程总结
    第10周编程总结
  • 原文地址:https://www.cnblogs.com/liushoudong/p/13512365.html
Copyright © 2011-2022 走看看