簡體   English   中英

從所有子數組中找到最大值的總和

[英]Find the sum of the max values from all subarrays

問題是 - 從所有子數組中找到所有最大值的總和。 例如,我有數組 {2, 8, 4, 3, 5},解是 92。我所有的子數組在哪里:

{2}、{8}、{4}、{3}、{5}、

{2,8},{8,4},{4,3},{3,5},

{2,8,4},{8,4,3},{4,3,5},

{2,8,4,3},{8,4,3,5},

{2,8,4,3,5}

來自所有子數組的所有最大值是:

2 - 8 - 4 - 3 - 5 -

8 - 8 - 4 - 5 -

8 - 8 - 5 -

8 - 8 -

8

你知道用線性時間復雜度解決這個問題的方法嗎?

它應該非常簡單。 看下面的算法

sum = 0
max = 0
for every array 'arr' in the array of arrays
do
   for every element 'arri' in the array 'arr'
   do
      if arri >= max, max = arri
   end for
   max = 0
   sum = sum + max
end for

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM