RosettaCodeData/Task/Greatest-subsequential-sum/Python/greatest-subsequential-sum-2.py

9 lines
315 B
Python
Raw Permalink Normal View History

2013-04-10 21:29:02 -07:00
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