栈--找最小数

题目描述

给一个正整数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 分钟前
2月14日打卡
算法
Liue6123123129 分钟前
基于YOLO11-C3k2-Faster-CGLU的路面落叶检测与识别系统实现
python
blackicexs1 小时前
第四周第七天
算法
~央千澈~1 小时前
抖音弹幕游戏开发之第8集:pyautogui基础 - 模拟键盘操作·优雅草云桧·卓伊凡
网络·python·websocket·网络协议
期末考复习中,蓝桥杯都没时间学了1 小时前
力扣刷题19
算法·leetcode·职场和发展
占疏1 小时前
列表分成指定的份数
python
Renhao-Wan1 小时前
Java 算法实践(四):链表核心题型
java·数据结构·算法·链表
Gaosiy2 小时前
脑电python分析库MNE安装
python·脑机接口·脑电·mne
zmzb01032 小时前
C++课后习题训练记录Day104
开发语言·c++
zmzb01032 小时前
C++课后习题训练记录Day105
开发语言·c++·算法