面試經典(7) 連續子陣列的最大值

2021-06-21 14:14:54 字數 392 閱讀 8478

題目:輸入乙個整型陣列,陣列有整數也有負數,求其子陣列的最大值。

演算法分析:微軟經典的一道題目。維持乙個當前累加的和cursum,如果cursum<=0,那麼需要更改cursum為data[i],這個很好理解,因為當前累加和是負數,是乙個累贅。如果cursum>0,那麼只需繼續累加data[i],每次更改cursum需要判定當前和是否大於最大的和maxsum,如果大於那麼更新maxsum。

bool invalid=false;

int maxsumofsubarray(int *data,int len)

for(int i=0;imaxsum)

maxsum= cursum;

} return maxsum;

}

30 連續子陣列和的最大值

hz偶爾會拿些專業問題來忽悠那些非計算機專業的同學。今天測試組開完會後,他又發話了 在古老的一維模式識別中,常常需要計算連續子向量的最大和,當向量全為正數的時候,問題很好解決。但是,如果向量中包含負數,是否應該包含某個負數,並期望旁邊的正數會彌補它呢?例如 連續子向量的最大和為8 從第0個開始,到第...

7 連續子陣列的最大和(子陣列 最大和)

題目 給乙個陣列,讓求連續陣列元素的最大和。public int maxsumofsubarray int arr 思路 連續子陣列的最大和動態規劃 dp i dp i 表示以arr i 結尾的連續子陣列的最大和。arr i 必須加上,就不判斷arr i 是正還是負。dp i 等於arr i 加上以...

(7)連續子陣列問題

include using namespace std 輸入乙個整形陣列,陣列裡有正數也有負數。陣列中連續的乙個或多個整數組成乙個子陣列,每個子陣列都有乙個和。求所有子陣列的和的最大值。要求時間複雜度為o n 例如輸入的陣列為1,2,3,10,4,7,2,5,和最大的子陣列為3,10,4,7,2,因...