专栏名称: 灰灰考研
最全的计算机软工考研专业课信息! 最丰富的共享资料! 最大程度上帮助学渣狗登上研究生大门!
目录
相关文章推荐
玩物志  ·  苹果发布多款新品/麦当劳官宣「全新 ... ·  2 天前  
练瑜伽  ·  61岁叶童上《浪姐》:雌雄同体,赢麻了 ·  2 天前  
练瑜伽  ·  出色老公的10大标准: 1、身高170-18 ... ·  3 天前  
练瑜伽  ·  她狠狠背刺了杨紫,结局太惨了…… ·  3 天前  
51好读  ›  专栏  ›  灰灰考研

【每日编程-189期】键盘行

灰灰考研  · 公众号  ·  · 2024-06-01 10:01

正文

每日编程中遇到任何疑问、意见、建议请公众号留言或直接撩 Q474356284( 备注每日编程 )

今日问题:

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

示例:

输入 : ["Hello", "Alaska", "Dad", "Peace"]

输出 : ["Alaska", "Dad"]

注意:

  1. 你可以重复使用键盘上同一字符。

  2. 你可以假设输入的字符串将只包含字母。


解决方法:

算法思想:

对键盘每一行字母进行标记,比如第一行记作1,第二行记作2,第三行记作3。

将26个字母的行数按顺序存储在数组中,对遍历到的字母的ASCII码进行处理,并和数组的Index进行适配。

记录遍历到的字母的行数,如果不相同则返回false。

或者记录字符串中每个字符的行数之和,如果这个和与行数最大值 * len (字符串长度)不相等,则返回false。

具体详见代码注释。

C++ 代码:


C 代码:


Java 代码:




明日题目预告:

删除链表中的节点

请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。

现有一个链表 -- head = [4,5,1,9] ,它可以表示为 :

4 -> 5 -> 1 -> 9

示例 1:

输入 : head =[4,5,1,9], node = 5

输出 : [4,1,9]

解释 : 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 ->9.

示例 2:

输入 : head =[4,5,1,9], node = 1

输出







请到「今天看啥」查看全文