版权声明:本文为博主原创文章,请尊重原创,转载请注明原文地址和作者信息! 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]