酷代码 AI
菜单
服务商

2006年的手机的键盘是这样的: 要按出英文字母就必须要按数字键多下。例如要按出 x 就得按 9 两下,第一下会出现 w,而第二下会把 w 变成 x。0 键按一下会出一个空格。 你的任务是读取若干句只包含英文小写字母和空格的句子,求出要在手机上打出这个句子至少需要按多少下键盘。 输入 一行句子,只包含英文小写字母和空格,且不超过 200 个字符。 输出 一行一个整数,表示按键盘的总次数。 样例输入 复制

以下是使用 Python 实现的代码: ```python # 定义每个字母对应的按键次数 key_presses = { 'a': 1, 'b': 2, 'c': 3, 'd': 1, 'e': 2, 'f': 3, 'g': 1, 'h': 2, 'i': 3, 'j': 1, 'k': 2, 'l': 3, 'm': 1, 'n': 2, 'o': 3, 'p': 1, 'q': 2, 'r': 3, 's': 4, 't': 1, 'u': 2, 'v': 3, 'w': 1, 'x': 2, 'y': 3, 'z': 4, ' ': 1 } # 读取输入的句子 sentence = input() # 初始化总按键次数为 0 total_presses = 0 # 遍历句子中的每个字符 for char in sentence: # 根据字符查找对应的按键次数并累加到总按键次数中 total_presses += key_presses[char] # 输出总按键次数 print(total_presses) ``` 代码解释: 1. 定义按键次数字典:`key_presses` 字典存储了每个字母和空格对应的按键次数。 2. 读取输入:使用 `input()` 函数读取一行输入的句子。 3. 初始化总按键次数:将 `total_presses` 初始化为 0。 4. 遍历句子:使用 `for` 循环遍历句子中的每个字符,根据字符在 `key_presses` 字典中查找对应的按键次数,并累加到 `total_presses` 中。 5. 输出结果:最后打印出总按键次数。 复杂度分析: - 时间复杂度:$O(n)$,其中 $n$ 是输入句子的长度,因为需要遍历句子中的每个字符一次。 - 空间复杂度:$O(1)$,因为字典 `key_presses` 的大小是固定的,不随输入句子的长度变化。 [2025-12-07 17:40:29 | AI问答 | 502点数解答]

相关提问
发财导航,免费问AI
实用工具查看更多