栈--找最小数

题目描述

给一个正整数NUM1,计算出新正整数NUM2,NUM2为NUM1中移除N位数字后的结果,需要使得NUM2的值最小。

输入描述

输入的第一行为一个字符串,字符串由0-9字符组成,记录正整数NUM1,NUM1长度小于32。

输入的第二行为需要移除的数字的个数,小于NUM1长度。

输出描述

输出一个数字字符串,记录最小值NUM2。

用例1

输入

2615371

4

输出

131

python 复制代码
NUM1=input()
N = int(input())
remain = len(NUM1)-N
stack=[]
for num in NUM1:
    while stack and stack[-1]>num and N>0:
        stack.pop()
        N-=1
    stack.append(num)
# 如果我们仍然需要移除数字,并且栈的长度超过了不需要移除的数字的数量
# 则从栈的末尾移除多余的元素(因为它们是较大的数字)
while len(stack)>remain:
    stack.pop()
while stack[0]=='0' and len(stack)!=1:
    stack.pop(0)
print(''.join(stack))
相关推荐
编码者卢布6 分钟前
【Azure Storage Account】Azure Table Storage 跨区批量迁移方案
后端·python·flask
可触的未来,发芽的智生9 分钟前
狂想:为AGI代称造字ta,《第三类智慧存在,神的赐名》
javascript·人工智能·python·神经网络·程序人生
编码者卢布13 分钟前
【App Service】Java应用上传文件功能部署在App Service Windows上报错 413 Payload Too Large
java·开发语言·windows
kaikaile199514 分钟前
结构风荷载理论与Matlab计算
开发语言·matlab
切糕师学AI23 分钟前
ARM 汇编器中的伪指令(Assembler Directives)
开发语言·arm开发·c#
吴维炜32 分钟前
「Python算法」计费引擎系统SKILL.md
python·算法·agent·skill.md·vb coding
吕司1 小时前
Qt的信号与槽
开发语言·qt
FansyMeng1 小时前
VSCode配置anaconda
vscode·python
电饭叔1 小时前
Tkinter Button 括号内的核心参数详解
python·学习
Σίσυφος19002 小时前
PCL Point-to-Point ICP详解
人工智能·算法