码迷,mamicode.com
首页 > 移动开发 > 详细

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

时间:2020-04-22 13:06:51      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:python   上进   row   ini   一个   路径   说明   code   ota   

题目:
给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。说明:  如果你可以只使用 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]
                

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

标签:python   上进   row   ini   一个   路径   说明   code   ota   

原文地址:https://www.cnblogs.com/zhuozige/p/12751095.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!