close
基本定義:輸入一串長度為n的整數序列,求最大連續和的值。

    輸入
        第一行有一個數字n (1<=n<=100)
        第二行有n個數字
    輸出
        一行,代表最大連續和的值
    範例輸入
        5
        2 -1 5 -4 3
    範例輸出
        6

可以畫一個表格來看...

          2  -1  5  -4   3
sum  2   1  6   2   5
max  2   2  6   6   6

         -3   1  4   3   -1
sum -3  1  5    8    7  //sum<0時 sum歸零
max -3  3  5     8   8

等於是列出一個表,然後放連續元素和sum和最大連續元素和max
而當sum<0時 sum就歸零

這樣就可以得到最後的max了。

至於是為什麼呢?*本部份感謝sa同學提供指導

既然是連續元素和
那麼,對於前面的元素和 我們可以有兩種作法
第一種 我不要前面的元素和 從自己開始算
第二種 我要前面的元素和 並且把自己加進去
所以當前面的元素和是負數時   當然就不要加啦~加了反而會變小
這就是歸零的原因
另外放個max做比較  看看什麼情況的連續元素和是最大
便可以求解。

試做題:10684 http://luckycat.kshs.kh.edu.tw/homework/q10684.htm
arrow
arrow
    全站熱搜

    aikosenoo 發表在 痞客邦 留言(0) 人氣()