• Leetcode练习(Python):数组类:第120题:给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。说明: 如果你可以只使用 O(n) 的额外空间(n 为三角形的总行数)来解决这个问题,那么你的算法会很加分。


    题目:
    给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。说明:  如果你可以只使用 O(n) 的额外空间(n 为三角形的总行数)来解决这个问题,那么你的算法会很加分。
    思路:
    要从下到上进行设计,从上到下进行设计会有错误。
    程序:
    class Solution:
        def minimumTotal(self, triangle: List[List[int]]) -> int:
            row = len(triangle)
            if row <= 0:
                return 0
            result = triangle[-1]
            for index1 in range(row - 2, -1, -1):
                for index2 in range(index1 + 1):
                    result[index2] = min(result[index2], result[index2 + 1]) + triangle[index1][index2]
            return result[0]
                    
  • 相关阅读:
    gitLab、docker
    Spring源码分析
    Tomcat堆内存分析
    Kafka入门一
    Java NIO
    spring注解
    websocket即时通讯
    pycharm安装dlib库
    python+opencv人脸识别是否戴口罩
    2021年暑假周总结1
  • 原文地址:https://www.cnblogs.com/zhuozige/p/12751095.html
Copyright © 2020-2023  润新知