about summary refs log tree commit diff
path: root/scratch/facebook/nearby-words.py
diff options
context:
space:
mode:
Diffstat (limited to 'scratch/facebook/nearby-words.py')
-rw-r--r--scratch/facebook/nearby-words.py33
1 files changed, 33 insertions, 0 deletions
diff --git a/scratch/facebook/nearby-words.py b/scratch/facebook/nearby-words.py
new file mode 100644
index 000000000000..d2fc3cf5cfcc
--- /dev/null
+++ b/scratch/facebook/nearby-words.py
@@ -0,0 +1,33 @@
+def nearby_chars(c):
+    keyboard = [
+        "qwertyuiop",
+        "asdfghjkl",
+        "zxcvbnm",
+    ]
+
+    for row in keyboard:
+        for i in range(len(row)):
+            if row[i] == c:
+                result = set()
+                if i + 1 < len(row):
+                    result.add(row[i + 1])
+                if i - 1 >= 0:
+                    result.add(row[i - 1])
+                return result
+
+def is_word(word):
+    words = {
+        "hello",
+    }
+    return word in words
+
+def nearby_words(x):
+    result = set()
+    for i in range(len(x)):
+        for c in nearby_chars(x[i]):
+            candidate = x[0:i] + c + x[i+1:]
+            if is_word(candidate):
+                result.add(candidate)
+    return result
+
+print(nearby_words('gello'))