01 複雜度1 最大子列和問題

2021-10-10 20:52:22 字數 555 閱讀 4140

01-複雜度1 最大子列和問題

題意:給出一組數,求最大連續子串行和。

連續子串行和:幾個連續數的和。

思路:乙個序列加正數序列和會增大,負數則會減小。所以如果我們每次都增加正數,那這個序列和將會最大。設定乙個max值,記錄當前情況下最大的序列和。我們把已經新增的所有序列當作乙個數,向後不斷遍歷。遇到正數就加上,遇到負數也加上,不過要判斷一下加上這個負數之後的和是否為負數。如果為負數,就捨棄,因為我們把遍歷過的序列當作乙個數,現在這個數已經是乙個負值,對後面的數不會再有貢獻,從零開始繼續往後遍歷。遍歷過程中不斷比較max值,遇到更大的更新max值,最後max即為最大子串行和。

**:

#include

using

namespace std;

intmain()

for(

int i=

0;i) sum=

max(sum,temp);}

printf

("%d\n"

,sum)

;return0;

}

01 複雜度1 最大子列和問題

給定k個整數組成的序列,連續子列 被定義為,其中 1 i j k。最大子列和 則被定義為所有連續子列元素的和中最大者。例如給定序列,其連續子列有最大的和20。現要求你編寫程式,計算給定整數序列的最大子列和。輸入格式 輸入第1行給出正整數 k 100000 第2行給出k個整數,其間以空格分隔。輸出格式...

01 複雜度1 最大子列和問題

01 複雜度1 最大子列和問題 給定k 個整數組成的序列,連續子列 被定義為,其中 1 i j k。最大子列和 則被定義為所有連續子列元素的和中最大者。例如給定序列,其連續子列有最大的和20。現要求你編寫程式,計算給定整數序列的最大子列和。輸入第1行給出正整數k 100 000 第2行給出 k個整數...

01 複雜度1 最大子列和問題

01 複雜度1最大子列和問題 20分 給定kk 個整數組成的序列,連續子列 被定義為n i 1 n jn j 其中 1 le i le j le k1 i j k。最大子列和 則被定義為所有連續子列元素的和中最大者。例如給定序列,其連續子列有最大的和20。現要求你編寫程式,計算給定整數序列的最大子列...