最大子陣列(3)

2022-08-19 12:24:13 字數 1700 閱讀 7979

一、題目及要求:

返回乙個整數陣列中最大子陣列的和

輸入乙個二維整形陣列,陣列裡有正數也有負數;二維陣列首尾相接,像一條首尾相接的帶子一樣。

二、設計思路:

這個題目其實與上次毫無區別,仍然呼叫迴圈一維陣列求最大子陣列的函式,將二維陣列列的情況全

部列出,即轉化為一維陣列。a[0][0],a[0][0]a[0][1]........。在呼叫函式即可。

二、源**

1 #include2

int max2(int arry,int length) //

跨越arry[n-1]、arry[0]的最大和313

else

1418

if(minsum>=sum)

1922 total=total+arry[i];23}

24 total=total+arry[0

];25 minsum=total-minsum;

2627

return

minsum;28}

2930

31int max1(int arry,int length) //

不跨越零點的最大和

3241

else

4246

if(maxsum<=sum)

4750}51

//struct ret ret1=;

52return

maxsum;53}

54int column(int a[20],int length,int num1) //

求最大和55;

63for(int j=0;j)

6472 p=p+1;73

}74for(int o=0;o<100;o++)

7578}79

for(int l=0;l)

8087 e[y++]=max1(d,length);

88 e[y++]=max2(d,length);

89//

cout<90}91

int max=e[0

];92

for(int i=0;i)

9399

}100

return

max;

101}

102int

main()

103117

}118

119int s=column(a,length,index);

120 cout<

最大和為:

"121return0;

122 }

四、截圖

五、感想

對於這次實驗僅簡單的呼叫了上次函式,用時很少。不過這次我領航,沒有書寫任何**,當看到夥伴再寫**

時,似乎看到自己最容易犯的錯,例如大括號,即等號與賦值號。當他寫**時,也比只看著更有感覺,交換一下

位置原來可以看到的更多。也許,好像這是最後一次結對開發,在此,感想一直相互合作的隊友,亦是兄弟。

結對開發夥伴:李青 

最大子陣列

1.問題描述 問題 乙個有n個整數元素的一維陣列 a 0 a 1 a 2 a n 1 這個陣列中子陣列之和的最大值是多少?該子陣列是連續的。例如 陣列 1,2,3,5,3,2 返回8 陣列 0,2,3,5,1,2 返回9。網上有稱之為最大子串行和,亦有稱連續子陣列最大和。個人覺得叫最大子串行和不太妥...

最大子陣列

給定乙個整數陣列,找到乙個具有最大和的子陣列,返回其最大和。樣例1 輸入 2,2,3,4,1,2,1,5,3 輸出 6 解釋 符合要求的子陣列為 4,1,2,1 其最大和為 6。樣例2 輸入 1,2,3,4 輸出 10 解釋 符合要求的子陣列為 1,2,3,4 其最大和為 10。要求時間複雜度為o ...

最大子陣列

import math 暴力 defforce array list 暴力取得最大子陣列 param array 引數陣列 return 最大的連續和 for i in range len array max num array i for j in range i 1 len array ifsu...