赞
踩
给你一个以字符串表示的非负整数 num 和一个整数 k ,移除这个数中的 k 位数字,使得剩下的数字最小。请你以字符串形式返回这个最小的数字。
示例 1 :
输入:num = "1432219", k = 3
输出:"1219"
解释:移除掉三个数字 4, 3, 和 2 形成一个新的最小的数字 1219 。
leetcode原题啦,看来也是一个比较懒的面试官。。。402. 移掉 K 位数字 - 力扣(LeetCode)
说实话,leetcode上标记是meidum中等题,但是我看来这是个比较难的题目,非常考察逻辑思维能力和对于常见算法的应用。
举个例子方便理解。《官方的写法我觉的写的很不错,还有视频示例,可以直接去看》
所以最后的策略就是,从左到右遍历,删除当前数字左侧的比当前数字大的数字。为了找到这个数字,就需要使用单调栈这个算法。
<Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。