Python 编程:从 500 位内整数中擦除指定数字获最大数的实现方案
以下是使用 Python 实现该功能的代码: ```python # 读取输入 n, k = input().split() k = int(k) # 将数字 n 转换为字符列表 digits = list(n) # 进行 k 次删除操作 while k > 0: i = 0 # 找到第一个满足 digits[i] < digits[i + 1] 的位置 while i < len(digits) - 1 and digits[i] >= digits[i + 1]: i += 1 # 删除该位置的数字 digits.pop(i) k -= 1 # 去除前导零 result = ''.join(digits).lstrip('0') # 如果结果为空,说明结果是 0 if result == '': result = '0' # 输出结果 print(result) ``` 代码解释: 1. 读取输入:通过 `input().split()` 读取用户输入的两个整数 `n` 和 `k`,并将 `k` 转换为整数类型。 2. 将数字转换为字符列表:将输入的数字 `n` 转换为字符列表 `digits`,方便进行删除操作。 3. 进行删除操作:循环 `k` 次,每次找到第一个满足 `digits[i] < digits[i + 1]` 的位置 `i`,并删除该位置的数字。 4. 去除前导零:使用 `lstrip('0')` 去除结果字符串的前导零。 5. 处理结果为空的情况:如果去除前导零后结果为空,说明结果是 0,将结果设为 `'0'`。 6. 输出结果:打印最终结果。 复杂度分析: - 时间复杂度:$O(k * m)$,其中 $m$ 是数字 `n` 的位数。 - 空间复杂度:$O(m)$,主要用于存储数字 `n` 的字符列表。 ######[AI问答 | 456点数解答 | 2026-02-07 20:33:37]
- 洛谷:根据邮件重量与加急情况精准计算邮费(字节豆包 | 88点数解答 | 2024-11-09 15:33:30)407
- Python实现:根据邮件重量与加急选择精准计算邮费(阿里通义 | 554点数解答 | 2024-11-09 15:34:05)407
- 邮件邮费计算:依据重量与加急要求输出邮费(GPT | 45点数解答 | 2024-12-16 22:26:01)367
- 邮件重量与加急选择决定邮费,附计算规则及示例(GPT | 38点数解答 | 2024-12-16 22:27:37)287
- Python 实现:根据重量与加急选项精准计算邮费及输入合法性处理(字节豆包 | 244点数解答 | 2024-12-31 19:36:29)310
- Python 编程:从 500 位内整数中擦除指定数字获最大数的实现方案(字节豆包 | 456点数解答 | 2026-02-07 20:33:37)24
- 判断超级幸运数:满足“纯4/7数位”或“4/7总个数为4或7”的整数计数(阿里通义 | 965点数解答 | 2026-03-13 12:15:06)23
- Python 运行报错:urllib3 网络连接创建失败,原因及排查建议(字节豆包 | 161点数解答 | 2024-10-31 00:39:36)465
- C++ 实现:精准统计给定范围 [L, R] 内数字 2 出现的次数及代码详解(字节豆包 | 401点数解答 | 2026-02-05 21:17:05)42
- C++实现:统计[L, R]范围内数字2出现的次数及代码详解(字节豆包 | 489点数解答 | 2026-02-07 17:12:26)46
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)346
- C语言:按特定格式输入并格式化输出整数、实数和字符(字节豆包 | 103点数解答 | 2024-10-24 11:12:53)403