[英]Finding the maximum and minimum sum of all but 1 integer(s) in a given array
[英]Minimum value of prefix sum of array with integer values
給定一個像 [3,4,6,1,1] 這樣的數組。 以這樣的方式排列它,它的前綴總和為下面給出的表達式提供最小值。 前綴和數組將是 [3,7,13,14,15] 我們必須像 3-7+13-14+15=10 這樣計算它的值,因此以使該值最小化的方式排列原始數組
我會給你一個提示。
假設 output 數組的形式為: [p1, p2, ... pn]
。 在您的示例中,5 元素 output 數組的格式為: [p1, p2, p3, p4, p5]
。 那么得到的表達式值為:
+p1
-p1-p2
+p1+p2+p3
-p1-p2-p3-p4
+p1+p2+p3+p4+p5
即: +p1+p3+p5
。 現在您只需要最小化這個總和,您可以輕松地做到這一點,例如對輸入數組進行排序並選擇 3 個最小的元素並將它們放置在位置1
、 3
和5
。 其余元素和順序無關緊要。
如果輸入數組的長度是偶數,則以類似的方式進行。 例如(長度=4):
+p1
-p1-p2
+p1+p2+p3
-p1-p2-p3-p4
結果: -p2-p4
。 所以在這里你必須 select 兩個最大的元素並將它們放在位置2
和4
。
這有意義嗎? 你知道在一般情況下如何編碼嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.