陣列最大連續和 max sum

2021-08-10 02:35:30 字數 407 閱讀 5714

看了一下最大連續和的幾個問題。

現在記下o(n)的演算法

要保證陣列的一段連續數字的和是最大,首先要保證當前的和不是負數。

o(n)的演算法就是基於此。

設乙個陣列a[n] = ;

標示下標兩個,head和tail。

乙個全域性變數max,用於快取當前最大的數和,初始化為0。

那麼首先-1 -2會被pass掉。head指向6,max也就是現在的6,所以tail也指向當前的6

接下來加上-7,這個一定會加上,因為6是非負數。這個時候和是-1,比max小,所以不用快取。

接下來遇到9,剛剛已經是負數,所以要重新開始,可以使用乙個headtmp來紀錄目前的下標。然後max需要更新為9,就把head改為headtmp,tail改為指向當前的9

接下來就十分的簡單了。

最大連續子陣列和

題目描述 輸入乙個整形陣列,陣列裡有正數也有負數。陣列中連續的乙個或多個整數組成乙個子陣列,每個子陣列都有乙個和。求所有子陣列的和的最大值,要求時間複雜度為o n 例如輸入的陣列為 1,2,3,10,4,7,2,5 和最大的子陣列為 3,10,4,7,2 因此輸出為該子陣列的和18。思路 採用貪婪法...

最大連續子陣列和

輸入乙個整形陣列,陣列裡有正數也有負數。陣列中連續的乙個或多個整數組成乙個子陣列,每個子陣列都有乙個和。求所有子陣列的和的最大值,要求時間複雜度為o n 例如輸入的陣列為1,2,3,10,4,7,2,5,和最大的子陣列為3,10,4,7,2,因此輸出為該子陣列的和18。第乙個想法肯定就是如果能夠把陣...

最大連續子陣列和

給定乙個整數陣列,元素的值有正有負。定義 連續子陣列和 為連續幾個陣列的元素的和,求最大的連續子陣列和。已知這個值在int能夠表示的範圍內。無腦暴力做就是列舉所有的子陣列,o n 2 然後對於每個子陣列求和,自然就找出最大的了,複雜度總共是o n 3 能否優化?想想 做了重複多餘的事情了?沒錯,就是...