計蒜客題目 最大子陣列

2021-08-15 15:12:24 字數 575 閱讀 1833

在乙個陣列中找出和最大的連續幾個數。(至少包含乙個數)

例如:陣列a = [−2, 1, −3, 4, −1, 2, 1, −5, 4],則連續的子串行[4,−1,2,1]有最大的和6.

輸入格式

第一行輸入乙個不超過1000的整數n。

第二行輸入n個整數a[i]。

輸出格式

第一行輸出乙個整數,表示最大的和。

樣例輸入

3

1 1 -2

樣例輸出

2
#includeint main()

{ int sum=0,max=0;

int n;

scanf("%d",&n);

int a[n];

for(int i=0;i想了半天也沒想到怎麼做,參考了別人的做法,我實在有點不開竅。

思路:用max儲存當前陣列計算出的最大值,不斷往子陣列裡面增加新的數。如果沒有超過最大值,那麼最大值就是最大,如果超過,更新最大值。如果加新的數的時候發現sum<0了,那麼重新開始。(因為sum<0只能給後續帶來傷害而沒有幫助)

最大子陣列 計蒜客

在乙個陣列中找出和最大的連續幾個數。至少包含乙個數 例如 陣列a 2,1,3,4,1,2,1,5,4 則連續的子串行 4,1,2,1 有最大的和6.輸入格式 第一行輸入乙個不超過1000的整數n。第二行輸入n個整數a i 輸出格式 第一行輸出乙個整數,表示最大的和。樣例輸入 3 1 1 2 貪心思路...

計蒜客 最大子陣列

在乙個陣列中找出和最大的連續幾個數。至少包含乙個數 例如 陣列a 2,1,3,4,1,2,1,5,4 則連續的子串行 4,1,2,1 有最大的和6.輸入格式 第一行輸入乙個不超過1000的整數n。第二行輸入n個整數a i 輸出格式 第一行輸出乙個整數,表示最大的和。樣例輸入 3 1 1 2樣例輸出 ...

計蒜客 最大子陣列

在乙個陣列中找出和最大的連續幾個數。至少包含乙個數 例如 陣列a 2,1,3,4,1,2,1,5,4 則連續的子串行 4,1,2,1 有最大的和6.輸入格式 第一行輸入乙個不超過1000的整數n。第二行輸入n個整數a i 輸出格式 第一行輸出乙個整數,表示最大的和。樣例輸入 3 1 1 2樣例輸出 ...