diff options
Diffstat (limited to 'scratch/facebook/largest-contiguous-sum.py')
-rw-r--r-- | scratch/facebook/largest-contiguous-sum.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/scratch/facebook/largest-contiguous-sum.py b/scratch/facebook/largest-contiguous-sum.py new file mode 100644 index 000000000000..7761bf1c61df --- /dev/null +++ b/scratch/facebook/largest-contiguous-sum.py @@ -0,0 +1,15 @@ +def find_sum(xs): + result = float('-inf') + streak = 0 + for x in xs: + result = max(result, streak, x) + if streak + x <= 0: + streak = x + else: + streak += x + return result + + +x = [2,-8,3,-2,4,-10] +assert find_sum(x) == 5 +print("Success!") |