栈--找最小数

题目描述

给一个正整数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))
相关推荐
rannn_1113 分钟前
3h速通Python:用Java的思维看懂Python
开发语言·python·ai·ai agent·大模型应用开发
lds走自己的路4 分钟前
全局坐标转局部坐标推导
人工智能·算法·机器学习
qq_372154239 分钟前
Python中如何快速创建全零数组_使用NumPy的zeros函数初始化内存
jvm·数据库·python
杨校10 分钟前
杨校老师课堂之C++高精度乘法
算法
上弦月-编程10 分钟前
C语言位运算:从入门到精通
运维·c语言·开发语言·vscode·算法·leetcode·极限编程
2301_7965885010 分钟前
Tailwind CSS如何快速实现居中对齐_使用mx-auto类实现CSS块级居中
jvm·数据库·python
minglie111 分钟前
c语言面向对象的led
c语言·开发语言
码点滴11 分钟前
上下文压缩不是“丢数据“:Context Compressor 的血缘追踪与 Prefix Cache 保护
人工智能·python·架构·prompt·ai编程
奇妙之二进制11 分钟前
fastdds源码分析之WriterListener
linux·开发语言·dds
小园子的小菜12 分钟前
生产实战|冷热数据转换:从识别、触发到落地全流程解析
java·开发语言·spring