Задача: Ряд клавиатуры

Задача: Ряд клавиатуры

https://t.me/pythonl

Условие: дается массив из строк, необходимо вернуть те строки из массива, которые могут быть набраны лишь при использовании знаков из одного ряда. 


Пример:

Ввод: words = ["Hello","Alaska","Dad","Peace"]

Вывод: ["Alaska","Dad"]

Объяснение:


Ввод: words = ["omk"]

Вывод: [ ]


Решение: Python

class Solution:
    def findWords(self, words: List[str]) -> List[str]:
        #
        set1 = {'q','w','e','r','t','y','u','i','o','p'}
        set2 = {'a','s','d','f','g','h','j','k','l'}
        set3 = {'z','x','c','v','b','n','m'}
        
        res = []
        for i in words:
            wordset = set(i.lower())
            if (wordset&set1 == wordset) or (wordset&set2 == wordset) or (wordset&set3 == wordset):
                res.append(i)
        return res




Report Page