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
全站熱搜
留言列表