LeetCode 1130. 叶值的最小代价生成树(区间DP/单调栈贪心)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 1130. 叶值的最小代价生成树(区间DP/单调栈贪心)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 1. 題目
- 2. 解題
- 2.1 DP
- 2.2 單調棧貪心
1. 題目
給你一個正整數數組 arr,考慮所有滿足以下條件的二叉樹:
- 每個節點都有 0 個或是 2 個子節點。
- 數組 arr 中的值與樹的中序遍歷中每個葉節點的值一一對應。(知識回顧:如果一個節點有 0 個子節點,那么該節點為葉節點。)
- 每個非葉節點的值等于其左子樹和右子樹中葉節點的最大值的乘積。
在所有這樣的二叉樹中,返回每個非葉節點的值的最小可能總和。
這個和的值是一個 32 位整數。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/minimum-cost-tree-from-leaf-values
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。
2. 解題
2.1 DP
類似題目:
LeetCode 1039. 多邊形三角剖分的最低得分(區間DP)
- 區間DP,見注釋
16 ms 9.3 MB
2.2 單調棧貪心
- 維護單調遞減棧,讓一個數字跟其相鄰的2個數字中的較小的相乘
0 ms 8.7 MB
我的CSDN博客地址 https://michael.blog.csdn.net/
長按或掃碼關注我的公眾號(Michael阿明),一起加油、一起學習進步!
總結
以上是生活随笔為你收集整理的LeetCode 1130. 叶值的最小代价生成树(区间DP/单调栈贪心)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode 1215. 步进数(B
- 下一篇: LeetCode 992. K 个不同整