栈--找最小数

题目描述

给一个正整数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))
相关推荐
浅碎时光8073 小时前
Qt (按钮/显示/输入/容器类控件 布局管理器)
开发语言·qt
bubiyoushang8884 小时前
OFDM系统信道估计MATLAB实现(LS、MMSE、DCT、LRMMSE方法)
开发语言·网络·matlab
abant24 小时前
leetcode 739 单调栈模板题
算法·leetcode·职场和发展
Felven4 小时前
C. Dora and Search
c语言·开发语言
John Song6 小时前
Python创建虚拟环境的方式对比与区别?
开发语言·python
geovindu6 小时前
python: Bridge Pattern
python·设计模式·桥接模式
搞程序的心海6 小时前
Python面试题(一):5个最常见的Python基础问题
开发语言·python
宝贝儿好9 小时前
【强化学习实战】第十一章:Gymnasium库的介绍和使用(1)、出租车游戏代码详解(Sarsa & Q learning)
人工智能·python·深度学习·算法·游戏·机器学习
程序媛一枚~12 小时前
✨✨✨使用Python,OpenCV及图片拼接生成❤️LOVE❤️字样图,每张小图加随机颜色边框,大图加随机大小随机颜色边框
图像处理·python·opencv·numpy·图像拼接
weixin_4588726112 小时前
东华复试OJ二刷复盘2
算法