【简单】500. 键盘行

【LeetCode】第500题——键盘行(难度:简单) 【LeetCode】第500题——键盘行(难度:简单)题目描述解题思路代码详解注意点 题目描述 给你一个字符串数组 words ,只返回可以使用在 美式键盘 同一行的字母打印出来的单词。键盘如下图所示。 美式键盘 中: 第一行由字符 “qwertyuiop” 组成。 第二行由字符 “asdfghjkl” 组成。 第三行由字符 “zxcvbnm” 组成。 示例 1: 输入:words = [“Hello”,“Alaska”,“Dad”,“Peace”] 输出:[“Alaska”,“Dad”] 示例 阅读详情

【题目】
给定一个单词列表,只返回可以使用在键盘同一行的字母打印出来的单词。
来源:leetcode
链接:https://leetcode-cn.com/problems/keyboard-row/
【示例】
输入: [“Hello”, “Alaska”, “Dad”, “Peace”]
输出: [“Alaska”, “Dad”]
【代码】
执行用时 :0 ms, 在所有 C++ 提交中击败了100.00% 的用户
内存消耗 :7 MB, 在所有 C++ 提交中击败了100.00%的用户

class Solution {
public:
    int ch[27]={1,0,0,1,2,1,1,1,2,1,1,1,0,0,2,2,2,2,1,2,2,0,2,0,2,0};
    vector<string> findWords(vector<string>& words) {
        int base=-1;
        vector<string>rs;
        for(auto x:words){
            int flag=true;
            base=-1;
            for(auto y:x){
                int pos=y-'a';
                if(y>='A'&&y<='Z')
                    pos=y-'A';
                if(base==-1){
                    base=ch[pos];
                }else if(base!=ch[pos]){
                    flag=false;
                    break;
                }
            }
            if(flag)
                rs.push_back(x);
        }
        return rs;
    }
};

【解法二】

class Solution {
public:
    vector<string> findWords(vector<string>& words) {
        string q{"qwertyuiop"};
        string a{"asdfghjkl"};
        string z{"zxcvbnm"};
        vector<string> ans;    
        for(int i=0;i<words.size();i++){
            int d=0,b=0,c=0,slen=words[i].size();
            for(int j=0;j<words[i].size();j++){
                if(q.find(tolower(words[i][j]))!=string::npos) b++;
                if(a.find(tolower(words[i][j]))!=string::npos) c++;
                if(z.find(tolower(words[i][j]))!=string::npos) d++;
            }
            if(b==slen||c==slen||d==slen) 
                ans.push_back(words[i]);
        }
        return ans;      
    }
};

Java实现 LeetCode 500 键盘行 500. 键盘行 给定一个单词列表,只返回可以使用在键盘同一行的字母打印出来的单词。键盘如下图所示。 示例: 输入: [“Hello”, “Alaska”, “Dad”, “Peace”] 输出: [“Alaska”, “Dad”] 注意: 你可以重复使用键盘上同一字符。 你可以假设输入的字符串将只包含字母。 class Solution { public String[] findW... 阅读详情

相关推荐

500. 键盘行

本题可通过遍历每个单词的字符,判断这些字符是否都来自键盘的同一行。可以使用哈希表来存储每个字符所在的行号,然后遍历单词中的字符,检查它们的行号是否一致。,只返回可以使用在美式键盘同一行的字母打印出来的单词。

qq_40844444的博客 705

500. 键盘行 771. 宝石与石头 简单 find接口的使用

同一行的字母打印出来的单词。,相同字母的大小写形式都被视为在同一行。都在美式键盘的第二行。

曾几何时的博客 411

手把手教你用VSCode+SDL在Ubuntu上跑LVGL8.2模拟器(附插件清单)

本文详细介绍了在Ubuntu系统上使用VSCode和SDL库搭建LVGL8.2模拟器环境的完整流程,特别适合嵌入式开发者(如全志F1C100s平台)进行UI设计验证。从环境配置、项目编译到VSCode深度集成,提供了实用技巧和常见问题解决方案,帮助开发者实现'先模拟后真机'的高效开发模式。

weixin_33737134的博客 358

LeetCode:500. 键盘行————简单

题目 给你一个字符串数组 words ,只返回可以使用在 美式键盘 同一行的字母打印出来的单词。键盘如下图所示。 美式键盘 中: 第一行由字符 “qwertyuiop” 组成。 第二行由字符 “asdfghjkl” 组成。 第三行由字符 “zxcvbnm” 组成。 示例 1: 输入:words = ["Hello","Alaska","Dad","Peace"] 输出:["Alaska","Dad"] 示例 2: 输入:words = ["omk"] 输出:[] 示例 3: 输入:words = ["

Kinght_123的博客 951

【WiFi软件开发】IOCTL和Netlink----用户空间和内核空间交互的两种方式

linux开发中通常会涉及用户空间和内核模块的交互。本文介绍了两种典型的用户空间和内核模块通信方式:ioctl和netlink

liuwe1ye的博客 2349

HttpClient跳过HTTPS证书验证的3种实战方法(含完整代码示例)

本文详细介绍了HttpClient跳过HTTPS证书验证的3种实战方法,包括自定义TrustManager、SSLContext配置和HttpClientBuilder高级定制,并提供完整代码示例。这些方法适用于开发和测试环境,帮助开发者快速解决自签名证书或未认证证书导致的HTTPS请求失败问题,但需注意生产环境的安全风险。

weixin_29213655的博客 530

500. 键盘行(简单题)

题目描述: 给定一个单词列表,只返回可以使用在键盘同一行的字母打印出来的单词。 示例: 输入: [“Hello”, “Alaska”, “Dad”, “Peace”] 输出: [“Alaska”, “Dad”] 注意: 你可以重复使用键盘上同一字符。 你可以假设输入的字符串将只包含字母。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/ke...

闭关修炼 152

互联网的发展简史—web

互联网是我现在生活所离不开的一个东西,但是你知道互联网的前世今生吗?本文将讲解互联网的发展史,以及很火的元宇宙概念。

yj11290301的博客 3565

leetcode 算法题500 (简单126) 键盘行

leetcode 算法题500 (简单126) 键盘行 题目介绍 给定一个单词列表,只返回可以使用在键盘同一行的字母打印出来的单词。键盘如下图所示。 示例 输入: [“Hello”, “Alaska”, “Dad”, “Peace”] 输出: [“Alaska”, “Dad”] 注意 你可以重复使用键盘上同一字符。 你可以假设输入的字符串将只包含字母。 解法一 /** ...

FYuu95100的博客 245

大津法(OTSU)点云强度信息分割

大津法(OTSU)是一种灰度图像自适应的阈值分割方法,大津法根据图像的灰度分布,将图像分成背景和前景两部分,前景就是需要按照阈值分割出来的部分。由于点云的强度信息的特性,也可以利用此方法进行分类,但需要保证信息干扰较少,例如道路标线分割等场景较为适用。

qq_48694523的博客 966

化工过程控制软件:Siemens PCS 7二次开发_(8).过程控制算法

在化工过程控制中,过程控制算法是实现自动化控制的关键技术之一。Siemens PCS 7 提供了丰富的控制算法库,但为了满足特定的工艺需求,往往需要进行二次开发。本节将详细介绍如何在 Siemens PCS 7 中进行过程控制算法的二次开发,包括常见的控制算法原理、实现方法和具体示例。

kkchenjj的博客 502

【哈希-简单】500. 键盘行

【题目】 给你一个字符串数组 words ,只返回可以使用在 美式键盘 同一行的字母打印出来的单词。键盘如下图所示。 美式键盘 中: 第一行由字符 “qwertyuiop” 组成。 第二行由字符 “asdfghjkl” 组成。 第三行由字符 “zxcvbnm” 组成。 【示例 1】 输入:words = [“Hello”,“Alaska”,“Dad”,“Peace”] 输出:[“Alaska”,“Dad”] 【示例 2】 输入:words = [“omk”] 输出:[] 【示例 3】 输入:words =

... 179

大模型部署指南:SGLang 框架

本文介绍使用 SGLang 框架部署大模型

举世誉之而不加劝,举世非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。 1617

【LeetCode】C++ :简单题 - 哈希表 500. 键盘行

500. 键盘行 难度简单120 给定一个单词列表,只返回可以使用在键盘同一行的字母打印出来的单词。键盘如下图所示。 示例: 输入: ["Hello", "Alaska", "Dad", "Peace"] 输出: ["Alaska", "Dad"] 注意: 你可以重复使用键盘上同一字符。 你可以假设输入的字符串将只包含字母。 好开心,居然通过了!然后还自己在LeetCode上发了一个题解,还第一次写题解呢! 思路是这样的:按照键盘三行分别用集合去存储键盘字母,...

weixin_44566432的博客 224

第1章 机器人SLAM算法工程师主要做什么的?(附SLAM学习路线及资料推荐)

对于想从事机器人与自动驾驶领域的在校大学生、研究生来说,建图定位算法工程师是一个极具发展潜力的岗位,而SLAM知识体系则是胜任该岗位的核心支撑。从基础的计算机工具、C++语言,到核心的开源框架、数学知识,再到硬件衔接与项目实践,每一个环节都不可或缺。建议大家结合自身兴趣确定侧重方向(如激光SLAM、融合定位),先通过开源项目建立实践认知,再补全理论知识,同时积极参与社区交流。

行知SLAM 957

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

500.键盘行(简单、字符串)

给定一个单词列表,只返回可以使用在键盘同一行的字母打印出来的单词。 输入: [“Hello”, “Alaska”, “Dad”, “Peace”] 输出: [“Alaska”, “Dad”] def findWords(self, words): &quot;&quot;&quot; :type words: List[str] :rtype: List[str] ...

花小七 232

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

【leetcode刷题】[简单]500. 键盘行(keyboard row)-java

键盘行 keyboard row题目分析解答 题目 给定一个单词列表,只返回可以使用在键盘同一行的字母打印出来的单词。键盘如下图所示。 示例: 输入: [“Hello”, “Alaska”, “Dad”, “Peace”] 输出: [“Alaska”, “Dad”] 注意: 你可以重复使用键盘上同一字符。 你可以假设输入的字符串将只包含字母。 代码模板: class Solution { ...

mikuluna的博客 416

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

leetcode 500. 键盘行 (很简单,就是要保存每一行的字母的值,写起来很繁琐)

题目解析:每个单词如果都在一行,就假如ret,如果有个字符和第一个字符不在一行,就break,接着判断下一个。class Solution {public:    vector&lt;string&gt; findWords(vector&lt;string&gt;&amp; words) {        long len = words.size();        if(len == 0) ...

Torch_Man的博客 782

数据结构【字符串(子集)、循环、哈希表】| leetcode 500. 键盘行(简单)

leetcode 500. 键盘行(简单)

m0_73522647的博客 150

(C++)Leetcode狂刷200题——标签“哈希表篇--简单难度10道 #500. 键盘行

第六道、#500. 键盘行 给定一个单词列表,只返回可以使用在键盘同一行的字母打印出来的单词。键盘如下图所示。 示例: 输入: [“Hello”, “Alaska”, “Dad”, “Peace”] 输出: [“Alaska”, “Dad”] 注意: 你可以重复使用键盘上同一字符。 你可以假设输入的字符串将只包含字母。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/keyboard-row 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载.

electrical_engineer0的博客 197

leetcode 500. 键盘行(python)

给定一个单词列表,只返回可以使用在键盘同一行的字母打印出来的单词。键盘如下图所示。     示例1: 输入: ["Hello", "Alaska", "Dad", "Peace"] 输出: ["Alaska", "Dad"] 注意: 你可以重复使用键盘上同一字符。 你可以假设输入的字符串将只包含字母。 class Solution: def findWord

汤庆 925

LeetCode500. 键盘行

给你一个字符串数组 words ,只返回可以使用在 美式键盘 同一行的字母打印出来的单词。键盘如下图所示。 美式键盘 中: 第一行由字符 "qwertyuiop" 组成。 第二行由字符 "asdfghjkl" 组成。 第三行由字符 "zxcvbnm" 组成。 示例 1: 输入:words = ["Hello","Alaska","Dad","Peace"] 输出:["Alaska","Dad"] 示例 2: 输入:words = ["omk"] 输出:[] 示例 3: 输入:word..

yan_yu_lv_ji的博客 3884

leetcode 500. Keyboard Row 键盘行

题目要求找出所有可以用美式键盘同一行字母打出的单词。通过检查每个单词的首字母属于键盘的哪一行(第一行"qwertyuiop"、第二行"asdfghjkl"或第三行"zxcvbnm"),然后验证该单词所有字母都来自同一行。时间复杂度为O(总字母数),空间复杂度O(1)。代码遍历每个单词,根据首字母确定目标行后检查剩余字母是否均在该行,满足条件的单词加入结果列表。

邹九的个人博客 570

leetcode 500. 键盘行

leetcode 500. 键盘行 文章目录leetcode 500. 键盘行一、题目1.题目描述2.基础框架3.解题思路 一、题目 原题链接:500. 键盘行 1.题目描述 给你一个字符串数组 words ,只返回可以使用在 美式键盘 同一行的字母打印出来的单词。键盘如下图所示。 美式键盘 中: 第一行由字符 "qwertyuiop" 组成。 第二行由字符 "asdfghjkl" 组成。 第三行由字符 "zxcvbnm" 组成。 示例 1: 输入:words = ["Hello","Alaska

进击的code儿 306
上一篇: 【简单】349. 两个数组的交集(待完善集合交集)
下一篇: 【简单】876. 链表的中间结点
菜菜2022
博客等级 码龄9年 67粉丝 1033原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值