C語言 和最大子串行

2021-09-07 10:02:09 字數 546 閱讀 8393

演算法提高 和最大子串行  

時間限制:1.0s   記憶體限制:512.0mb

問題描述

對於乙個給定的長度為n的整數序列a,它的「子串行」的定義是:a中非空的一段連續的元素(整數)。你要完成的任務是,在所有可能的子串行中,找到乙個子串行,該子串行中所有元素的和是最大的(跟其他所有子串行相比)。程式要求你輸出這個最大值。

輸入格式

輸入檔案的第一行包含乙個整數n,第二行包含n個整數,表示a。

其中1 <= n <= 100000

-10000 <= a[i] <=  10000

輸出格式

輸出僅包含乙個整數,表示你算出的答案。

樣例輸入

5

3 -2 3 -5 4

樣例輸出4

1 #include2

intmain()

11for(int i=0;i)else18}

19 printf("%d"

,maxsum);

20return0;

21 }

求最大子串行和(C語言)

問題 給定整數a1 a2,an 可能有負數 求ai aj之和的最大值。其中四種演算法,每種執行時間不同 include 演算法一,執行時間為o n3 intmaxsubsequencesum const int a,int n return maxsum 演算法二,執行時間為 n2 intmaxsu...

最大子串行

模板 int maxsubsequence const int a,int n return maxsum 複雜度on 給定k個整數的序列,其任意連續子串行可表示為,其中 1 i j k。最大連續子串行是所有連續子串行中元素和最大的乙個,例如給定序列,其最大連續子串行為,最大和 為20。在今年的資料...

最大子串行

最大子串行是要找出由數組成的一維陣列中和最大的連續子串行。比如的最大子串行就是 它的和是8,達到最大 而 的最大子串行是,它的和是6。你已經看出來了,找最大子串行的方法很簡單,只要前i項的和還沒有小於0那麼子串行就一直向後擴充套件,否則丟棄之前的子串行開始新的子串行,同時我們要記下各個子串行的和,最...