陣列的連續最大子段和

2021-07-29 17:15:39 字數 877 閱讀 4783

轉至:-anker's blog

問題描述:輸入是乙個大小為n的整型陣列,要求輸出陣列的任何連續子陣列中的最大值。例如:輸入的陣列為array[10] = ;輸出最大連續子陣列和為array[2...6]:187

演算法1:對所有滿足0<=i<=j<=n的(i,j)整數對進行迭代,對每個整數對,程式都要計算array[i...j]的總和,並檢驗該總和是否大於迄今為止的最大總和。

演算法1的偽**描述如下:

maxsofar = 0

for(i=0;i

maxsofar = 0

for(i=0;i

curarray[-1] = 0

for(i=0;i

int maxsum3(1,n)

//求三個整數中的最大值

int max(const int x,const int y,const int z)

//演算法1函式實現

int maxsum1(int *array,const size_t len)

tempsum = 0;

for(int j=mid+1;j<=end;++j)

return max(lmax+rmax,maxsum3(array,begin,mid),maxsum3(array,mid+1,end));

} //演算法4的實現

int maxsum4(int *array,const size_t len)

{ int maxendinghere = 0;

int maxsofar = 0;

for(size_t i=0;i>choise;

cout<<"陣列的最大欄位和為:";

switch(choise)

{case 1:

cout<

陣列的連續最大子段和

最大子段和問題描述 給定由 n 個整數 可能為負整數 組成的序列a1,a2,a3.an,求該數列中連續子段和最大!例如 當 a1,a2,a3,a4,a5 2,11,4,13,5,2 時,最大欄位和為 20 11 4 13 以下例子都是以int data 6 int n 6 演算法一 對所有滿足0 i...

陣列的連續最大子段和

問題描述 輸入是乙個大小為n的整型陣列,要求輸出陣列的任何連續子陣列中的最大值。例如 輸入的陣列為array 10 輸出最大連續子陣列和為array 2.6 187 演算法1 對所有滿足0 i j n的 i,j 整數對進行迭代,對每個整數對,程式都要計算array i.j 的總和,並檢驗該總和是否大...

陣列的連續最大子段和

問題描述 輸入是乙個大小為n的整型陣列,要求輸出陣列的任何連續子陣列中的最大值。例如 輸入的陣列為array 10 輸出最大連續子陣列和為array 2.6 187 演算法1 對所有滿足0 i j n的 i,j 整數對進行迭代,對每個整數對,程式都要計算array i.j 的總和,並檢驗該總和是否大...