leetcode NO.500 keyboard-row (Python3实现)

题目描述

给定一个单词列表,只返回可以使用在键盘同一行的字母打印出来的单词。键盘如下图所示。

示例:
输入: ["Hello", "Alaska", "Dad", "Peace"]
输出: ["Alaska", "Dad"]

前置知识点

Python Set issubset() 方法

来源:
https://www.runoob.com/python3/ref-set-issubset.html

描述
issubset() 方法用于判断集合的所有元素是否都包含在指定集合中,如果是则返回 True,否则返回 False。

语法
issubset() 方法语法:

set.issubset(set)

参数
set -- 必需,要比查找的集合
返回值
返回布尔值,如果都包含返回 True,否则返回 False。

实例
判断集合 x 的所有元素是否都包含在集合 y 中:

实例 1

x = {"a", "b", "c"}
y = {"f", "e", "d", "c", "b", "a"}
 
z = x.issubset(y) 
 
print(z)

输出结果为:

True
如果没有全部包含返回 False:

实例 1

x = {"a", "b", "c"}
y = {"f", "e", "d", "c", "b"}
 
z = x.issubset(y) 

print(z)

输出结果为:
False

python3 代码实现

class Solution:
    def findWords(self, words: List[str]) -> List[str]:
        keyboard = [
        set('qwertyuiop'),
        set('asdfghjkl'),
        set('zxcvbnm')]
        result = []
        for word in words:
            for key in keyboard:
                if set(word.lower()).issubset(key):
                    result.append(word)
        return result

猜你喜欢

转载自www.cnblogs.com/everfight/p/leetcode_500.html