lintcode791 合併數字

2021-10-05 08:30:14 字數 740 閱讀 7140

給出n個數,現在要將這n個數合併成乙個數,每次只能選擇兩個數a,b合併,每次合併需要消耗a+b的能量,輸出將這n個數合併成乙個數後消耗的最小能量。

樣例

樣例 1

: 輸入:[1

,2,3

,4] 輸出:19

解釋:合併1和2,代價為3

, 合併後為 [3,

4,3]

. 合併3,3

, 代價是6

, 合併後為 [6,

4]. 合併最後兩個,代價為10, 總最小代價為19

樣例 2

: 輸入:[2

,8,4

,1] 輸出:25

解釋:合併1和2,代價為3

, 合併後為 [3,

4,8]

. 合併3,4

, 代價是7

, 合併後為 [7,

8]. 合併最後兩個,代價為15, 總最小代價為25

注意事項

2<= n <=

50000,合併後的數字不會超過int範圍

class

solution

int res=0;

int sum=0;

while

(!q.

empty()

&&q.

size()

>=2)

return res;}}

;

LintCode 合併區間

題目描述 給出若干閉合區間,合併所有重疊的部分。樣例 給出的區間列表 合併後的區間列表 1,3 1,6 2,6 8,10 8,10 15,18 15,18 做題思路 先用bool函式規定一種排序演算法,每個陣列的第乙個數字比較,按照公升序的方法排列。運用sort函式將intervals的陣列按照規定...

合併區間 LintCode

描述 給出若干閉合區間,合併所有重疊的部分。樣例 給出的區間列表 合併後的區間列表 1,3 1,6 2,6 8,10 8,10 15,18 15,18 思路 首先先寫乙個比較規則comp,然後用sort 將intervals按其start從小到大排序,這樣可以避免合併區間時的許多問題。然後再建立乙個...

相同數字 LintCode

給乙個陣列,如果陣列中存在相同數字,且相同數字的距離小於給定值k,輸出yes,否則輸出no。注意事項 輸入的陣列長度為n,保證n 100000。陣列元素的值為x,0 x 1e9。輸入的k滿足 1 k n。樣例 給出 array 1,2,3,1,5,9,3 k 4,返回 yes 解釋 index為3的...