思路

  • 如果某段累加和<0, 则对后续累加无(正)贡献, 需终止本段累加,重启新累加;
  • 求多段累加和的最大值。

步骤:

  1. 累加:

    从左到右,累加;

  2. 控制:

    α.累加和>0,继续累加;

    β.累加和<0,

    a、终止本轮累加;

    b、max(当前累加和最值,本次累加之前的和)

    c、重启累加:调到1),从数组当前元素,;

  3. 边界值处理:

    最后一元素<0,则不计入最后一轮累加。