Skip to content
This repository has been archived by the owner on Feb 14, 2023. It is now read-only.

120. 三角形最小路径和 #23

Open
AmelloAster opened this issue Jul 14, 2020 · 0 comments
Open

120. 三角形最小路径和 #23

AmelloAster opened this issue Jul 14, 2020 · 0 comments
Labels
Finished 经验+1 Leetcode daily topic 每日药丸 Middle 哥布林 金金 Code is life

Comments

@AmelloAster
Copy link
Collaborator

120. 三角形最小路径和

给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。

相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。

 

例如,给定三角形:

[
     [2],
    [3,4],
   [6,5,7],
  [4,1,8,3]
]

自顶向下的最小路径和为 11(即,2 + 3 + 5 + 1 = 11)。

解题代码

var minimumTotal = function (triangle) {
    for (let i = triangle.length - 1; i > 0; i--) {
        for (let j = 0; j < triangle[i].length - 1; j++) {
            triangle[i - 1][j] = Math.min(
                triangle[i - 1][j] + triangle[i][j],
                triangle[i - 1][j] + triangle[i][j + 1]
            )
        }
    }
    return triangle[0][0]
}

解题思路

将三角形倒转
计算当前一排元素和下一排相邻元素之和的最小值
然后依次往上累加
最后返回三角形顶端的元素

解题效率

显示详情
执行用时:
76 ms, 在所有 JavaScript 提交中击败了46.61%的用户
内存消耗:
36.1 MB, 在所有 JavaScript 提交中击败了50.00%的用户
@AmelloAster AmelloAster added Finished 经验+1 Leetcode daily topic 每日药丸 Middle 哥布林 金金 Code is life labels Jul 15, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Finished 经验+1 Leetcode daily topic 每日药丸 Middle 哥布林 金金 Code is life
Projects
None yet
Development

No branches or pull requests

1 participant