华为OD机试 九宫格按键输入

发布时间 2023-04-07 12:43:03作者: 梦想橡皮擦

本期题目:九宫格按键输入

题目

九宫格按键输入,有英文数字两种模式, 默认是数字模式数字模式直接输出数字, 英文模式连续按同一个按键会依次出现这个按键上的字母, 如果输入/或者其他字符,则循环中断,输出此时停留的字母。 数字字母的对应关系如下,注意0只对应空格

 
1(,.) 2(abc) 3(def) 4(ghi) 5(jkl) 6(mno) 7(pqrs) 8(tuv) 9(wxyz) # 0(空格) /
 

输入一串按键,要求输出屏幕显示

  1. #用于切换模式,默认是数字模式,执行#后切换为英文模式;
  2. /表示延迟,例如在英文模式下,输入22/222,显示为bc,数字模式下/没有效果;
  3. 英文模式下,多次按同一键,例如输入22222,显示为b;

输入

输入范围为数字0~9和字符#,/,输出屏幕显示,例如, 在数字模式下,输入1234,显示1234 在英文模式下,输入1234,显示 ,adg

输出

输出屏幕显示的字符

题解地址 ?

华为 OD 机试

刷题技巧 我这里有一个“刷题技巧”,你可以看看,或许可以帮到你: 不要盲目的刷题,凡是讲究策略与技巧,题型是有限的。用自己的方法梳理题型,归纳与总结,就能举一反三、手到擒来。 这个“刷题技巧”,包含了递归、分治、单调栈、并查集、滑动窗口、前缀和、查分、二分查找、 BFS 广搜和 DFS 深搜。 这些题型,都有一些共同点: 递归,都是用一组关键字来实现 BFS 广搜和 DFS 深搜的共同点: 前缀和(前缀法):通过判断值是否相等来判断结果是否为 1。若不相等则返回 1 (否则返回 0)。(也可以通过数组索引的方法) BFS 广搜的共同点:利用数组索引的方法。