about summary refs log tree commit diff
path: root/scratch/facebook/largest-contiguous-sum.py
diff options
context:
space:
mode:
Diffstat (limited to 'scratch/facebook/largest-contiguous-sum.py')
-rw-r--r--scratch/facebook/largest-contiguous-sum.py15
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!")