栈--找最小数

题目描述

给一个正整数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))
相关推荐
测试员周周4 分钟前
【Appium 系列】第12节-智能路由 — API测试 vs UI 测试的自动选择
开发语言·人工智能·python·功能测试·ui·appium·测试用例
lili00124 分钟前
CC GUI 插件架构剖析:如何为 JetBrains IDE 打造完整的 AI 编程工作台
java·ide·人工智能·python·架构·ai编程
iuvtsrt6 分钟前
SQL如何高效提取大表前几行:分页查询与OFFSET优化
jvm·数据库·python
其实防守也摸鱼7 分钟前
ctfshow--Crypto(funnyrsa1-密码2)解题步骤
python·安全·web安全·网络安全·密码学·web·工具
WL_Aurora11 分钟前
备战蓝桥杯国赛【Day 15】
python·蓝桥杯
liudanzhengxi13 分钟前
AnthropicAPI连接超时:实战避坑指南
开发语言·php
张二娃同学13 分钟前
01_C语言学习路线与开发环境搭建
c语言·开发语言·学习
彳亍10116 分钟前
如何用 Dask 替代 Pandas 实现高效 Excel 数据处理
jvm·数据库·python
程序leo源20 分钟前
Qt信号与槽深度详解
c语言·开发语言·数据库·c++·qt·c#
水云桐程序员21 分钟前
C++数组详细介绍
开发语言·c++