栈--找最小数

题目描述

给一个正整数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))
相关推荐
星河耀银海8 分钟前
C++开发入门——环境搭建与第一个程序
开发语言·c++·策略模式
还不秃顶的计科生12 分钟前
defaultdict讲解
开发语言·javascript·ecmascript
花归去17 分钟前
echarts 柱状图包含右侧进度
开发语言·前端·javascript
wjs202418 分钟前
Java 数组
开发语言
高山上有一只小老虎18 分钟前
灵异背包?
java·算法
码农水水19 分钟前
大疆Java面试被问:TCC事务的悬挂、空回滚问题解决方案
java·开发语言·人工智能·面试·职场和发展·单元测试·php
Hooray1120 分钟前
前后端分离_案例学习_Python+Flask+VUE3
后端·python·学习·flask
qq_25183645724 分钟前
基于java Web 个人网站系统设计与实现
java·开发语言·数据库
小二·29 分钟前
Python 学习教程(第2篇):用 Flask 开发你的第一个 Web 应用
python·学习·flask
s090713633 分钟前
【综述】前视二维多波束成像声呐(FLS)图像处理算法全解析:从成像到深度学习
图像处理·人工智能·算法·声呐·前视多波束