当前位置:   article > 正文

2023华为OD面试手撕真题【移除K位数字,求最小数】_华为面试手撕

华为面试手撕

给你一个以字符串表示的非负整数 num 和一个整数 k ,移除这个数中的 k 位数字,使得剩下的数字最小。请你以字符串形式返回这个最小的数字。

        

示例 1 :

输入:num = "1432219", k = 3
输出:"1219"
解释:移除掉三个数字 4, 3, 和 2 形成一个新的最小的数字 1219 。

leetcode原题啦,看来也是一个比较懒的面试官。。。402. 移掉 K 位数字 - 力扣(LeetCode)

说实话,leetcode上标记是meidum中等题,但是我看来这是个比较难的题目,非常考察逻辑思维能力和对于常见算法的应用。

举个例子方便理解。《官方的写法我觉的写的很不错,还有视频示例,可以直接去看》

 所以最后的策略就是,从左到右遍历,删除当前数字左侧的比当前数字大的数字。为了找到这个数字,就需要使用单调栈这个算法。

<
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/385331
推荐阅读
相关标签
  

闽ICP备14008679号