栈--找最小数

题目描述

给一个正整数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))
相关推荐
z***I3941 分钟前
JavaScript原型链
开发语言·前端·javascript
x***58704 分钟前
JavaScript语音识别开发
开发语言·javascript·语音识别
Jamesvalley7 分钟前
flask处理所有logging
后端·python·flask
小年糕是糕手12 分钟前
【C++】C++入门 -- 输入&输出、缺省参数
c语言·开发语言·数据结构·c++·算法·leetcode·排序算法
ekprada12 分钟前
DAY 16 数组的常见操作和形状
人工智能·python·机器学习
柳鲲鹏21 分钟前
OpenCV: 光流法python代码
人工智能·python·opencv
databook26 分钟前
别急着转投 Polars!Pandas 3.0 带着“黑科技”杀回来了
后端·python·数据分析
q***925134 分钟前
PHP搭建开发环境(Windows系统)
开发语言·windows·php
Chrison_mu37 分钟前
Android项目背景动效-Kotlin
android·开发语言·kotlin
啃火龙果的兔子38 分钟前
如何控制kotlin项目back的时候,只回退webview的路由
开发语言·kotlin·harmonyos