刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

最小新整数
给定一个十进制正整数n(0 < n < 1000000000),每个数位上数字均不为0。n的位数为m。 现在从m位中删除k位(0<k < m),求生成的新整数最小为多少? 例如: n = 9128456, k = 2, 则生成的新整数最小为12456
时间限制:1000
内存限制:65536
输入
第一行t, 表示有t组数据; 接下来t行,每一行表示一组测试数据,每组测试数据包含两个数字n, k。
输出
t行,每行一个数字,表示从n中删除k位后得到的最小整数。
样例输入

2
9128456 2
1444 3

样例输出

12456
1

使用微信搜索喵呜刷题,轻松应对考试!

答案:

解析:

【喵呜刷题小喵解析】首先,我们需要理解题目的要求。题目要求我们给定一个十进制正整数n,它的位数为m,然后从m位中删除k位,生成的新整数最小为多少。我们的解题思路如下:1. 首先,我们需要将数字n转换为字符串,因为我们需要按照数位进行操作。2. 然后,我们获取数字的长度m,如果k大于m,直接返回0,因为无法删除超过数字长度的位数。3. 接着,我们将数字按照数位拆分为一个列表,方便我们进行操作。4. 然后,我们找到需要删除的最低位数的索引,即m-k。5. 从最低位开始,我们遍历列表,如果当前位不是最低位,且前一位比当前位小,则删除当前位,并跳出循环。这是因为我们要删除的是数字中尽可能低的位,以使得新的数字尽可能小。6. 如果删除位数不足k位,则继续删除,直到删除k位为止。7. 最后,我们将处理后的数字转换为整数并返回。以上是我们的解题思路,具体的实现可以参考上面的代码。
创作类型:
原创

本文链接:最小新整数 给定一个十进制正整数n(0 < n < 1000000000),每个数位上数字均不为0。

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share