【LeetCode】120. Triangle

版权声明:本文为博主原创文章,请尊重原创,转载请注明原文地址和作者信息! https://blog.csdn.net/zzc15806/article/details/82630343

class Solution:
    # 动态规划(实际上是求到最后一层每个节点距离的最小值。采用从下往上更新dp数组,dp数组初始为最后一层元素,然后每次求上一层节点的距离最小值,直到第一层的最小距离值即为答案)
    def minimumTotal(self, triangle):
        """
        :type triangle: List[List[int]]
        :rtype: int
        """
        dp = triangle[-1]

        for i in range(len(triangle)-2,-1,-1):
            for j in range(i+1):
                dp[j] = min(dp[j], dp[j+1]) + triangle[i][j]

        return dp[0]
        

猜你喜欢

转载自blog.csdn.net/zzc15806/article/details/82630343