環形陣列求子陣列最大和

2022-06-03 23:00:16 字數 1165 閱讀 7145

由於上一次輸入陣列出錯,本次更正。

設計思想:

1.輸入字串陣列

2.將字串陣列賦初值刪去空格、換行以及初值,將其他字元轉化成整數陣列儲存起來。

3.環形整數陣列在每乙個點出都可能斷開,所以設定兩個迴圈,借用第一次計算乙個一維陣列的子陣列最大和

4.從每乙個點都開始一次計算出每乙個一維陣列的子陣列最大和,比較哪乙個最大,輸出。

#include #include 

using

namespace

std;

#define max 100

#define no -9999

intmain()

cout

<

請輸入整數陣列:

"; //

輸入for(int i=1;i//

使用字串記錄,從1開始,計算兩位數時避免前乙個字串不存在。

for(int i=1;i)

else

}else

else}}

}}/*cout <

cin>>length;

cout

*/for(int i=length;i<2*length-1;i++) //

檢查是否是轉化為想要的陣列

for(int i=0;i<2*length-1;i++)

cout

cout

<

int max=0

;

for(int i=0;i//

環形陣列斷開的位置

}cout

<

該整數陣列中子陣列最大值為:

總結:在使用字串記錄輸入的字元並轉化為整數的過程中遇到了很多問題。

1.字元是乙個乙個的,但是整數有兩位也有負數,在轉化的時候很費勁。

2.經常忽視特殊情況

3.忘記賦初值

對於字串和整數之間的轉化已經很熟悉了。

求子陣列最大和

題目 輸入乙個整形陣列,陣列裡有正數也有負數。陣列中連續的乙個或多個整數組成乙個子陣列,每個子陣列都有乙個和。求所有子陣列的和的最大值。要求時間複雜度為o n 例如輸入的陣列為1,2,3,10,4,7,2,5,和最大的子陣列為3,10,4,7,2,因此輸出為該子陣列的和18。因為是o n 的複雜度,...

求子陣列的最大和

題目 輸入乙個整形陣列,陣列裡有正數也有負數。陣列中連續的乙個或多個整數組成乙個子陣列,每個子陣列都有乙個和。求所有子陣列的和的最大值。要求時間複雜度為o n 本題最初為2005年浙江大學計算機系的考研題的最後一道程式設計題,在2006年裡包括google在內的很多知名公司都把本題當作面試題。由於本...

求子陣列的最大和

陣列 一 題目 感謝 提供的題目 求子陣列的最大和 輸入乙個整形陣列,陣列裡有正數也有負數。陣列中連續的乙個或多個整數組成乙個子陣列,每個子陣列都有乙個和。求所有子陣列的和的最大值。要求時間複雜度為o n 例如輸入的陣列為1,2,3,10,4,7,2,5,和最大的子陣列為3,10,4,7,2,因此輸...