#OD070. 九宫格按键输入
九宫格按键输入
题目解析和算法源码
华为OD机试 - 九宫格按键输入(Java & JS & Python & C & C++)_伏城之外的博客-CSDN博客
题目描述
九宫格按键输入,有英文和数字两个模式,默认是数字模式,数字模式直接输出数字,英文模式连续按同一个按键会依次出现这个按键上的字母,如果输入 "/" 或者其他字符,则循环中断,输出此时停留的字母。
数字和字母的对应关系如下,注意 0 只对应空格:
输入一串按键,要求输出屏幕显示
- #用于切换模式,默认是数字模式,执行 # 后切换为英文模式;
- /表示延迟,例如在英文模式下,输入 22/222,显示为 bc,数字模式下 / 没有效果;
- 英文模式下,多次按同一键,例如输入 22222,显示为 b;
输入描述
输入范围为数字 0~9 和字符’#’、’/’,输出屏幕显示,例如:
- 在数字模式下,输入 1234,显示 1234
- 在英文模式下,输入 1234,显示,adg
输出描述
输出屏幕显示的字符
用例1
输入
2222/22
输出
222222
说明
默认数字模式,字符直接显示,数字模式下/无序
用例2
输入
#2222/22
输出
ab
说明
#进入英文模式,连续的数字输入会循环选择字母,直至输入/,故第一段2222输入显示a,第二段22输入显示b
用例3
输入
#222233
输出
ae
说明
#进入英文模式,连续的数字输入会循环选择字母,直至输入其他数字,故第一段2222输入显示a,第二段33输入显示e