栈--找最小数

题目描述

给一个正整数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))
相关推荐
zh_xuan3 分钟前
kotlin对集合数据的操作
开发语言·kotlin
Hcoco_me5 分钟前
大模型面试题76:强化学习中on-policy和off-policy的区别是什么?
人工智能·深度学习·算法·transformer·vllm
企业对冲系统官9 分钟前
大宗商品风险对冲系统统计分析功能的技术实现
运维·python·算法·区块链·github·pygame
ValhallaCoder9 分钟前
Day48-单调栈
数据结构·python·算法·单调栈
a程序小傲13 分钟前
京东Java面试被问:多活数据中心的流量调度和数据同步
java·开发语言·面试·职场和发展·golang·边缘计算
Sylvia-girl18 分钟前
数组题目之移除元素
算法
智算菩萨19 分钟前
【Python小游戏】深度解析Pygame实现2048游戏的完整开发流程(有代码实现)
python·游戏程序·pygame
88号技师19 分钟前
2026年1月一区SCI-最优或最劣优化器Farthest better or nearest worse optimizer-附Matlab免费代码
开发语言·数学建模·matlab·启发式算法·优化算法
feifeigo12320 分钟前
基于嵌套阵列的DOA估计Matlab仿真例程
开发语言·matlab
三金1213823 分钟前
Java定时任务Schedule详解及Cron表达式实践
java·开发语言