题目描述
键盘输入一个高精度的正整数 NN(不超过 250250 位),去掉其中任意 kk 个数字后剩下的数字按原左右次序将组成一个新的非负整数。编程对给定的 NN 和 kk,寻找一种方案使得剩下的数字组成的新数最小。
输入格式
输入两行正整数。
第一行输入一个高精度的正整数 nn。
第二行输入一个正整数 kk,表示需要删除的数字个数。
输出格式
输出一个整数,最后剩下的最小数。
输入输出样例
输入 #1 输出 #1
175438 13 4
解题思路
- 输入str类型的高精度正整数nn,int类型正整数k
- 将字符串切片并转为int类型存入列表
- 改变列表为升序形式,弹出后面k个大数
- 输出剩余列表元素(注意加上end = "" 将元素连成一块)
代码
num = input()#输入字符串
k = int(input())#输入整数
num_list = []#切片后存入的列表
for i in range(len(num)):
num_list.append(int(num[i]))#切片
num_list.sort(reverse = False)#升序排序
for i in range(k):
num_list.pop()#弹出末尾k个大数
for i in range(len(num_list)):
print(num_list[i],end = "")#输出数,注意中间连接没有空格