500. 键盘行 哈希表 力扣 Python 难度指数:3

莱莱  论坛元老 | 2024-9-28 20:56:33 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 1032|帖子 1032|积分 3096

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
500. 键盘行
已解答
简单
相干标签
相干企业
给你一个字符串数组 words ,只返回可以使用在 美式键盘 同一行的字母打印出来的单词。键盘如下图所示。
美式键盘 中:


  • 第一行由字符 "qwertyuiop" 组成。
  • 第二行由字符 "asdfghjkl" 组成。
  • 第三行由字符 "zxcvbnm" 组成。



示例 1:
  1. <strong>输入:</strong>words = ["Hello","Alaska","Dad","Peace"]
  2. <strong>输出:</strong>["Alaska","Dad"]
复制代码
示例 2:
  1. <strong>输入:</strong>words = ["omk"]
  2. <strong>输出:</strong>[]
复制代码
示例 3:
  1. <strong>输入:</strong>words = ["adsdf","sfd"]
  2. <strong>输出:</strong>["adsdf","sfd"]
复制代码

提示:


  • 1 <= words.length <= 20
  • 1 <= words.length <= 100
  • words 由英笔墨母(小写和大写字母)组成
  1. class Solution(object):
  2.     def findWords(self, words):
  3.         """
  4.         :type words: List[str]
  5.         :rtype: List[str]
  6.         """
  7.         ans=[]
  8.         num=[0]*200
  9.         for i in "QWERTYUIOPqwertyuiop":
  10.             num[ord(i)]=1
  11.         for i in 'ASDFGHJKLasdfghjkl':
  12.             num[ord(i)]=2
  13.         for i in 'zxcvbnmZXCVBNM':
  14.             num[ord(i)]=3
  15.         flag=0
  16.         for i in words:
  17.             flag=0
  18.             a=num[ord(i[0])]
  19.             for j in range(1,len(i)):
  20.                 if a!=num[ord(i[j])]:
  21.                     flag=1
  22.             if flag==0:
  23.                 ans.append(i)
  24.         return ans
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

莱莱

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表