tvl-depot/users/wpcarro/scratch/facebook/nearby-words.py
Vincent Ambo 019f8fd211 subtree(users/wpcarro): docking briefcase at '24f5a642'
git-subtree-dir: users/wpcarro
git-subtree-mainline: 464bbcb15c
git-subtree-split: 24f5a642af
Change-Id: I6105b3762b79126b3488359c95978cadb3efa789
2021-12-14 02:15:47 +03:00

33 lines
763 B
Python

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'))