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

2022-07-17 07:21:11 字數 617 閱讀 3807

要求: 輸入乙個整形陣列,陣列裡有正數也有負數。 陣列中連續的乙個或多個整數組成乙個子陣列,每個子陣列都有乙個和。 求所有子陣列的和的最大值。

思路: 

如輸入1 2 3 4 5 -6  7 -8 9 0

從1開始逐步向後加,取最大的記為max[0],同時記錄下加到第幾個數時得到最大值,記位置為k

從2開始逐步向後加,取最大的記為max[1],同時記錄下加到第幾個數時得到最大值,記位置為k

從3開始逐步向後加,取最大的記為max[2],同時記錄下加到第幾個數時得到最大值,記位置為k

比較max[0],max[1],max[2],max[....]取最大的記為max1

#include

using namespace std;

#define n 10

void main()

}if(max[j]>max1)

}for(g = i;g < n;g++)

cout<<"連續陣列為: "《時間複雜度為n2

求最大的和比較容易,主要時間放在了如何把相加和最大的連續陣列求出來,關鍵是如何找到找到相加和最大的連續陣列的起止位置。這裡用j來表示起始位置,用k來表示止位置

累計用時兩個半小時。。。。

返回乙個環狀整數陣列中最大子陣列之和

題目 返回乙個整數陣列中最大子陣列的和。要求 結對程式設計要求 分析 相比於上一次的任務,這次的不同在於,陣列是環狀的,求出所有可能子陣列之和的最大值,並確定該子陣列所在的位置。這時就會有兩種想法 a想到環狀,就想到了資料結構中的迴圈鍊錶,balabala。b其實也不難,只是加入環狀之後,每次搜尋子...

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

該題的意思是 如果乙個陣列為 1 5 3 19 5 3 第乙個數之後若是該數與前乙個數之和大於該數那麼將這個和替換概數 即5 1 5,5不變 而5 3 5 則將三替換為8以此類推 當乙個數與前乙個數之和再次小於這個數時,這個數為乙個下乙個的最小陣列,如5 3 19 11 5 5 則5為下乙個最小陣列...

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

1.題目 要求 要求程式必須能處理1000 個元素 每個元素是int32 型別的 輸入乙個整形陣列,陣列裡有正數也有負數。陣列中連續的乙個或多個整數組成乙個子陣列,每個子陣列都有乙個和。求所有子陣列的和的最大值。要求時間複雜度為o n 2.設計思想。分別計算出所有子陣列的和,進行比較,找出最大子陣列...