左右最值最大差

2021-10-05 04:35:31 字數 644 閱讀 2350

給定乙個長度為n(n > 1)的整型陣列a,可以將a劃分成左右兩個部分,左部分a[0…k],右部分a[k + 1…n -

1],k可以取值的範圍[0, n -

2]。求這麼多劃分方案中,左部分中的最大值減去右部分最大值的絕對值,最大是多少?給定整數陣列a和陣列的大小n,請返回題目所求的答案。

題目可以理解為,a中的最大元素值減去a[0]或者a[n-1]。

因為max(a)可以分為三種情況:

max(a)是a[0],這樣的話,劃分出來的右半部分總是包含a[n-1],a[1 ~ n-2]之間的值,如果比a[n-1]小,那麼算差值的時候還是減去a[n-1],因為要減去右半部分最大值;

如果比a[n-1]大,因為要求差值的最大值,所以就將這個值劃分到左半部,最後還是a[0]-a[n-1]。

max(a)是a[n-1]的時候,同理上面。

max(a)在中間的時候,因為劃分總是包含a[0]或者a[n-1]其中乙個,所以選擇兩個差值的最大值。

class maxgap }if

(index ==0)

else

if(index ==

(n -1)

)else}}

;

左右最值最大差

給定乙個長度為n n 1 的整型陣列a,可以將a劃分成左右兩個部分,左部分a 0.k 右部分a k 1.n 1 k可以取值的範圍是 0,n 2 求這麼多劃分方案中,左部分中的最大值減去右部分最大值的絕對值,最大是多少?給定整數陣列a和陣列的大小n,請返回題目所求的答案。測試樣例 2,7,3,1,1 ...

左右最值最大差

題目 給定乙個長度為n n 1 的整型陣列a,可以將a劃分成左右兩個部分,左部分a 0 k 右部分a k 1 n 1 k可以取值的範圍是 0,n 2 求這麼多劃分方案中,左部分中的最大值減去右部分最大值的絕對值,最大是多少?給定整數陣列a和陣列的大小n,請返回題目所求的答案。測試樣例 2,7,3,1...

左右最值最大差

題目詳情 給定乙個長度為n n 1 的整型陣列a,可以將a劃分成左右兩個部分,左部分a 0 k 右部分a k 1 n 1 k可以取值的範圍是 0,n 2 求這麼多劃分方案中,左部分中的最大值減去右部分最大值的絕對值,最大是多少?給定整數陣列a和陣列的大小n,請返回題目所求的答案。分析 要使差值最大,...