题解 | #子数组的最大累加和问题#
子数组的最大累加和问题
http://www.nowcoder.com/practice/38014783330445b4936ccfad9990431c
思路:
- 如果某段累加和<0, 则对后续累加无(正)贡献, 需终止本段累加,重启新累加;
- 求多段累加和的最大值。
步骤:
-
累加:
从左到右,累加;
-
控制:
α.累加和>0,继续累加;
β.累加和<0,
a、终止本轮累加;
b、max(当前累加和最值,本次累加之前的和)
c、重启累加:调到1),从数组当前元素,;
-
边界值处理:
最后一元素<0,则不计入最后一轮累加。