如何找出乙個陣列中兩個不相鄰元素的和的最大值

時間 2021-06-08 09:00:13

1樓:TiiWoo

#include

// 遍歷一遍,O(n)的複雜度

#include

using

namespace

std;

const

intINF

=1e9

;intn;

intarr

[110

];int

ans,

tmp,

maxx=-

INF;

intmain

()cout

<

endl

;return0;}

2樓:Aperodry

先從陣列中找到最大的元素max,max的下標為j,然後再arr[0-(j-2)]和arr[(j+2)-lenth]中尋找最大的,和max想加。

3樓:

可以直接掃一遍即可,記錄前面除了前乙個以外的最大值,然後和當前值求和作為候選答案

選擇候選答案中最大的那一項

deffindMaxSum

(arr

):# 假設arr中至少有3個元素

ans=

arr[0]

+arr[2

]tempMax

=max

(arr[0

],arr[1

])foriin

range(3

,len

(arr

)):tempAns

=tempMax

+arr[i

]ans

=max

(tempAns

,ans

)tempMax

=max

(tempMax

,arr[i

-1])returnans

4樓:Dawn

找出陣列中前四大的數,假設為a,b,c,d(a>=b>=c>=d)然後判斷a,b是否相鄰,如果a,b不相鄰,那麼答案就是a+b如果a,b相鄰,就判斷a,c是否相鄰,如果a,c不相鄰,那麼答案就是a+c

如果a,c也相鄰,那麼b,c一定不相鄰,且a,d也一定不相鄰,那麼答案就是max(a+d,b+c)

如有錯誤請指正

請教大家乙個問題,如何把乙個陣列中的相同元素挑選出來,組成另外的陣列或者list

MMMartt 函式 瞎寫 式 js const concat curr other v,vs v undefined concat curr curr 0 v?v,curr v curr v other,vs curr other const getResult arr concat arr so...

如何在一萬個數字中找出正確的乙個?

首先如果是暴力列舉,無論列舉方法還是方向,時間都是一樣的。即從 0000 到 9999 和從 5000 開始兩邊找其實等價。具體怎麼 crack?自己找鹽找密文,然後自己跑個暴力破解就好 和前面回答思路一樣,暴力破解。如果可以這麼做的話,需要考慮以下情況 1丶有無驗證時間 2丶可否分開驗證 假設沒有...

如何在pandas中,找出兩個dataframe不同的行?

Modric A.merge B,how outer indicator True merge value counts 小福 左鏈結,df1為left,df2為right,以 title name 作為主建,鏈結後text y列為nan的即為 df2在df1中不存在的行 res pd.merge ...