120.三角形最小路径和

思路:dp 数组,每次从后往前更新,头尾两个值只有一种情况,即尾只能加上上一层最末的,头只能加上上一层最前的,其余的话

dp[i]=min(dp[i - 1] + item[i], dp[i] + item[i])

class Solution(object):
    def minimumTotal(self,triangle):
        """
        :type triangle: List[List[int]]
        :rtype: int
        """
        dp = [0] * len(triangle)
        dp[0] = triangle[0][0]
        for item in triangle[1:]:
            dp[len(item) - 1] = dp[len(item) - 2] + item[len(item) - 1]
            for i in range(len(item) - 2,0,-1):
                dp[i] = min(dp[i - 1] + item[i], dp[i] + item[i])
            dp[0] = dp[0] + item[0]
            #print(dp)
        res = min(dp)
        return res
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 题解:给出一个三角形,求从顶点到最底层的路径的最小和 方法:动态规划2个参数,i,j,代表从(i,j)出发直到底层...
    HamletSunS阅读 148评论 0 0
  • 给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。 例如,给定三角形: [[2],[...
    薄荷糖的味道_fb40阅读 317评论 0 0
  • 题目链接:https://leetcode-cn.com/problems/triangle/ dp方程法: dp...
    Jason_Shu阅读 157评论 0 0
  • 给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。 例如,给定三角形: [[2],[...
    one_zheng阅读 314评论 0 0
  • 今天我们要分享的书叫《清单革命》。这本书的中文版大约有220页,我会花25分钟左右的时间和大家分享这本书的精髓:怎...
    七色黑白阅读 23,655评论 1 12

友情链接更多精彩内容