簡體   English   中英

找到數組子序列的最大總和的算法是什么?

[英]What is the algorithm to find the maximum sum of an array sub-sequence?

有一個帶有元素{5,30,99,60,5,10}的一維數組。 從該數組中,1個子序列是5,99和10,其總和值為114.其他子序列總和小於114.兩個元素在子序列中不應是連續的,即{5,30和60}不是有效的子序列(對於這個問題)。 它可以是{5,99,5}或{30,60,10}等。數組不包含負數。 什么方法是計算這個最大總和的正確方法? 我試圖用C實現它。

遞歸是你的朋友

總和是最大值

5 + maxSum of {99, 60, 5, 10}

或放棄5贊成30和

30 + maxSum of {60, 5, 10}

假設您沒有任何負數,則應使用530 ,然后使用剩余的序列。 丟棄它們都沒有意義。

暫無
暫無

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

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