about summary refs log tree commit diff
path: root/users/wpcarro/scratch/facebook/moderate/find-pairs-for-sum.py
diff options
context:
space:
mode:
Diffstat (limited to 'users/wpcarro/scratch/facebook/moderate/find-pairs-for-sum.py')
-rw-r--r--users/wpcarro/scratch/facebook/moderate/find-pairs-for-sum.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/users/wpcarro/scratch/facebook/moderate/find-pairs-for-sum.py b/users/wpcarro/scratch/facebook/moderate/find-pairs-for-sum.py
new file mode 100644
index 0000000000..69c2fc4312
--- /dev/null
+++ b/users/wpcarro/scratch/facebook/moderate/find-pairs-for-sum.py
@@ -0,0 +1,19 @@
+import random
+
+def find_pairs(xs, n):
+    """
+    Return all pairs of integers in `xs` that sum to `n`.
+    """
+    seeking = set()
+    result = set()
+    for x in xs:
+        if x in seeking:
+            result.add((n - x, x))
+        else:
+            seeking.add(n - x)
+    return result
+
+xs = [random.randint(1, 10) for _ in range(10)]
+n = random.randint(1, 10) + random.randint(1, 10)
+print("Seeking all pairs in {} for {}...".format(xs, n))
+print(find_pairs(xs, n))