华为OD机试E卷真题 找最小值 | 原题+思路+多语言代码(本题100%)(C++、Java、Py)
题目描述
给一个正整数NUM1,计算出新正整数NUM2,NUM2为NUM1中移除N位数字后的结果,需要使得NUM2的值最小。
输入描述
1.输入的第一行为一个字符串,字符串由0-9字符组成,记录正整数NUM1,NUM1长度小于32。
2.输入的第二行为需要移除的数字的个数,小于NUM1长度。
输出描述
输出一个数字字符串,记录最小值NUM2。
用例
输入
2615371412
输出
1311
解题思路
-
贪心算法:
-
使用贪心策略,每次尽可能移除较大的数字,以使剩余数字组成的数最小。
-
遍历数字字符串,维护一个栈,确保栈中的数字尽可能小。
-