华为OD在线OJ:
已购买本专栏用户,请私信博主开通账号,在线刷题!!!
在线OJ:立即刷题
题库专栏:2023华为OD机试(A卷+B卷)(C++JavaJSPy)
题目描述
给一个正整数NUM1,计算出新正整数NUM2,NUM2为NUM1中移除N位数字后的结果,需要使得NUM2的值最小。
输入描述
1.输入的第一行为一个字符串,字符串由0-9字符组成,记录正整数NUM1,NUM1长度小于32。
2.输入的第二行为需要移除的数字的个数,小于NUM1长度。
输出描述
输出一个数字字符串,记录最小值NUM2。
用例
输入
2615371
4
输出
131
解题思路
原题:https://leetcode.cn/problems/remove-k-digits/solutions/
维护一个单调递增的栈来实现移除数字
- 初始化一个空栈
stack
,用于存储需要保留的数字。 - 遍历输入的正整数 NUM1 中的每个字符。
- 对于当前字符,检查栈顶元素是否大于当前字