RosettaCodeData/Task/Greatest-subsequential-sum/Python/greatest-subsequential-sum-2.py
Ingy döt Net db842d013d A-M baby
2013-04-10 21:29:02 -07:00

8 lines
315 B
Python

def maxsum(sequence):
"""Return maximum sum."""
maxsofar, maxendinghere = 0, 0
for x in sequence:
# invariant: ``maxendinghere`` and ``maxsofar`` are accurate for ``x[0..i-1]``
maxendinghere = max(maxendinghere + x, 0)
maxsofar = max(maxsofar, maxendinghere)
return maxsofar