题解 | #三角形最小路径和#

三角形最小路径和

http://www.nowcoder.com/practice/c9d44b73dc7c4dbfa4272224b1f9b42c

  • 利用一个数组dp来存储当前层的上一层元素,然后从前往后修改dp数组中的元素。
  • dp[j] = triangle[i][j] + min(dp[j],dp[j+1]),其中j表示当前层的第j个元素的下标。
  • 通过从后往前遍历每一层,就找到了每一个点的最小值的路径,最终遍历至一底层,最小值存储在dp[0]
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param triangle int整型二维数组 
# @return int整型
#
class Solution:
    def minTrace(self , triangle: List[List[int]]) -> int:
        # write code here
        if len(triangle) == 0:
            return 0
        if len(triangle) == 1:
            return triangle[0][0]
        dp = triangle[len(triangle)-1]
        for row in range(len(triangle)-2,-1,-1):
            for col in range(len(triangle[row])):
                dp[col] = triangle[row][col] + min(dp[col],dp[col+1])
        return dp[0]
全部评论

相关推荐

白火同学:大二有这水平很牛了,可以适当对关键信息加粗一点,比如关键技术、性能指标之类的。
点赞 评论 收藏
分享
05-19 19:57
蚌埠学院 Python
2237:Gpa70不算高,建议只写排名,个人技能不在多而在精,缩到8条以内。项目留一个含金量高的,减少间距弄到一页,硕士简历也就一页,本科不要写很多
实习,投递多份简历没人回...
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务