面試題(6)首尾相連的陣列的子陣列的最大和

2021-06-27 10:59:30 字數 396 閱讀 5158

題目:給定乙個由n個整數元素組成的陣列arr,陣列中有正數也有負數,這個陣列不是一般的陣列,其首尾是相連的。陣列中乙個或多個連續元素可以組成乙個子陣列,其中存在這樣的子陣列arr[i],…arr[n-1],arr[0],…,arr[j],現在請你幫忙找出所有連續子陣列和的最大值(如果陣列中的元素全部為負數,則最大和為0,即乙個也沒有選)。

分析:設最大和對應的最左邊的下標和最右邊的下表分別為i,j。0<=i

分為兩種情況:

1.當子陣列不跨越母陣列的時候,可以使用常規求最大子陣列和的方法

2.當子陣列跨越母陣列的時候,要求該「跨越子陣列」的最大子串和,則需在母陣列中尋找乙個「不跨越」的最小子串和,然後用總和減去該值,即可

上面兩種情況取到的最大值與0比較,取大輸出即可。

參考**如下:

NYOJ 983 首尾相連陣列的最大子陣列和

時間限制 1000 ms 記憶體限制 65535 kb 難度 4 描述給定乙個由n個整數元素組成的陣列arr,陣列中有正數也有負數,這個陣列不是一般的陣列,其首尾是相連的。陣列中乙個或多個連續元素可以組成乙個子陣列,其中存在這樣的子陣列arr i arr n 1 arr 0 arr j 現在請你這個...

NYOJ 983 首尾相連陣列的最大子陣列和

時間限制 1000 ms 記憶體限制 65535 kb 難度 4 描述 給定乙個由n個整數元素組成的陣列arr,陣列中有正數也有負數,這個陣列不是一般的陣列,其首尾是相連的。陣列中乙個或多個連續元素可以組成乙個子陣列,其中存在這樣的子陣列arr i arr n 1 arr 0 arr j 現在請你這...

九度 1527 首尾相連陣列的最大子陣列和

題目描述 給定乙個由n個整數元素組成的陣列arr,陣列中有正數也有負數,這個陣列不是一般的陣列,其首尾是相連的。陣列中乙個或多個連續元素可以組成乙個子陣列,其中存在這樣的子陣列arr i arr n 1 arr 0 arr j 現在請你這個acm lover用乙個最高效的方法幫忙找出所有連續子陣列和...