轉至:-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 的總和,並檢驗該總和是否大...