LeetCode–T9键盘

元宇宙建筑师
• 阅读 1646

LeetCode–T9键盘

<!-- more -->

博客说明

文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢!

说明

面试题 16.20. T9键盘

题目

在老式手机上,用户通过数字键盘输入,手机将提供与这些数字相匹配的单词列表。每个数字映射到0至4个字母。给定一个数字序列,实现一个算法来返回匹配单词的列表。你会得到一张含有有效单词的列表。映射如下图所示:

LeetCode–T9键盘

示例 1:

输入: num = "8733", words = ["tree", "used"]
输出: ["tree", "used"]

示例 2:

输入: num = "2", words = ["a", "b", "c", "d"]
输出: ["a", "b", "c"]

提示

num.length <= 1000
words.length <= 500
words[i].length == num.length
num中不会出现 0, 1 这两个数字

Java

思路

将26个字母按顺序将对应的数字存入数组,再比对输入的数字是否符合

代码
class Solution {
    public List<String> getValidT9Words(String num, String[] words) {
        List<String> res = new ArrayList<>();
        char[] map = {'2','2','2','3','3','3','4','4','4','5','5','5','6','6','6','7','7','7','7','8','8','8','9','9','9','9'};
        for(String word : words){
            int index = 0;
            boolean flag = true;
            for(char c : word.toCharArray()){
                char n = map[c-'a'];
                if(n != num.charAt(index++)){
                    flag = false;
                    break;
                }
            }
            if(flag){
                res.add(word);
            }
        }
        return res;
    }
}

感谢

leetcode

以及勤劳的自己

点赞
收藏
评论区
推荐文章
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
Johnny21 Johnny21
4年前
法律层级划分图_云上笛暮
本文转自,如有侵权,请联系删除。
Johnny21 Johnny21
4年前
运维安全-信息安全
本文转自,如有侵权,请联系删除。
Stella981 Stella981
4年前
IntelliJ IDEA 2020最新版本可用,有图有真相!
「版权声明」:本教程只做个人学习使用,请勿用于商业用途!如需商业版本,请前往下面官方地址购买,版权归属权为JetBranins公司!资源收集于网络,如有侵权请联系作者删除。若资金允许,请点击 https://www.jetbrains.com/idea/buy/(https://www.oschina.net/action/GoToL
Wesley13 Wesley13
4年前
IDEA 激活码,IDEA 注册码,IDEA 2019.3 激活码
https://www.cnblogs.com/souyunku/archive/2020/03/04/12405977.html申明:本教程IntelliJIDEA2019.3激活方式均收集于网络,请勿商用,仅供个人学习使用,如有侵权,请联系作者删除。注意:激活,可到2089年本教程理论
Wesley13 Wesley13
4年前
CTF
CTFPwn\BJDCTF2nd\r2t4博客说明文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢!本文仅用于学习与交流,不得用于非法用途!CTP平台网址https://buuoj.cn/cha
Wesley13 Wesley13
4年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Stella981 Stella981
4年前
Electron整合React使用搭建开发环境
Electron整合React使用搭建开发环境博客说明文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢!简介用于构建用户界面的JavaScript库步骤首先创建React
Stella981 Stella981
4年前
Linux日志安全分析技巧
0x00前言我正在整理一个项目,收集和汇总了一些应急响应案例(不断更新中)。GitHub地址:https://github.com/Bypass007/EmergencyResponseNotes本文主要介绍Linux日志分析的技巧,更多详细信息请访问Github地址,欢迎Star。0x01日志简介Lin
Wesley13 Wesley13
4年前
Java开源项目整理
1\.整理出一些使用比较广或者个人觉得比较好的java开源项目和资料供参考。2\.如果你觉得好但是我没有列出的开源项目请告诉我,方便我添加到列表里。3\.如果你发现信息描述有误请联系我,我会及时修改或删除。4\.文章里面的内容会不断进行变更和补充,后续除了会新增开源项目,与其相关的学习资料也会添加到项目链接下。