栈--找最小数

题目描述

给一个正整数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))
相关推荐
f***68602 分钟前
问题:Flask应用中的用户会话(Session)管理失效
后端·python·flask
爱吃面条的猿7 分钟前
Python修改pip install 指定安装包的路径和默认镜像源
linux·python·pip
迈巴赫车主7 分钟前
蓝桥杯 20541魔法科考试
java·数据结构·算法·蓝桥杯
lly2024068 分钟前
SQL CREATE DATABASE
开发语言
饭饭大王6669 分钟前
Python 模块的概念与导入:从基础语法到高级技巧
java·服务器·python
朝九晚五ฺ18 分钟前
深入Rust标准库(std):核心能力与实战指南
开发语言·后端·rust
2013编程爱好者21 分钟前
Rust变量
开发语言·后端·rust
Sunhen_Qiletian29 分钟前
python语言应用实战--------网络爬虫篇 第二篇(selenium库)
爬虫·python·selenium
star learning white37 分钟前
xmC语言8
c语言·开发语言·算法
一只爱学习的小鱼儿39 分钟前
QT中3D的使用
开发语言·数据库·qt