最直觀的方法就是定義sum為區間連續和,ans為最終答案,每次輸入的元素加在sum上,若sum<0則歸零從下一個元素開始繼續加,此時的最大值就是max(ans,sum)。但這個做法只能用在ans大於0時,若所有元素皆為負數,則需進一步調整。
還有一個看起來比較複雜但可以適用所有情況的解法,可以去這個網站看看:
https://hackmd.io/@SCIST/BytcSI9qd