about summary refs log tree commit diff
path: root/users/wpcarro/scratch/facebook/nearby-words.py
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'))