求整數陣列中和最大的子陣列的和

2022-05-17 23:32:25 字數 710 閱讀 6435

鄭雲飛--韓亞華 

這個問題的複雜性和不確定讓我們讓我們想到了列舉,求出每乙個子陣列的和,但這樣我們我們程式的時間複雜度

將會非常高,於是我們想把辦法簡化它。首先我們將陣列裡連續的正數和負數就和,這樣我們將得到乙個正負相間的

整數陣列。然後再對正整數陣列求最大子陣列,這樣最大子陣列必定是兩頭為正,有奇數個元素的陣列,讓後再對這

樣的陣列列舉。這樣不能在數量級簡化時間複雜度,但也會使計算得到一定簡化。一下會方法:

int maxsubarray(int a,int

n)

while(a[e-1]<=0

)

temp=new

int[n];

for(int j=0;j)

for(int i=t;i)

}if(k==-1

)

}}//得到新陣列

/*for(int x=0;x<=newlong;x++)

if(maxadd=0

; }

}return

max;

}

測試函式

int

main()

;

intthemax;

themax=maxsubarray(a,10

); cout

<}

求整數陣列中和最大的子陣列的3種方法

輸入乙個整型陣列,陣列裡有正數也有負數。陣列中連續的乙個或多個整數組成乙個子陣列,每個子陣列都有乙個和。求所有子陣列的和的最大值。要求時間複雜度為o n 使用三種方式實現,分別是蠻力法 bf maxsubarray,分治法 dc maxarray,和o n 實現的單迴圈法find max。inclu...

C 求整數陣列中和最大子串

現在有乙個陣列,陣列裡面有正數或者負數。如何計算其子串中和的最大值。比如,最大值的子串就應該是值為6 下面我直接給出 了,很簡單的,只是當時自己想錯了,所以這裡我把 重新寫了一遍 1 時間演算法為o n 2 2int maxseqint int a,int n 12 13 return s2 14 ...

求乙個整數 陣列中所有連續子陣列中和的最大值

信1101 2 胡弦琴 20113026 王兵茹 20112917 2014 03 10 15 35 37 這個時間點開始發表這篇部落格 剛把程式改好,由於胡弦琴要去上課,所以後續的部落格由我寫完 今天上午最後一節課老師叫我們結組兩個人共同乙個小程式的設計,也就是求乙個整數陣列中所有子陣列和的最大值...