给定一个以字符串表示的非负整数 num,移除这个数中的 位数字,使得剩下的数字最小。

注意:

  • num 的长度小于 10002 且 ≥ k。
  • num 不会包含任何前导零。

示例 1 :

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

示例 2 :

输入: num = "10200", k = 1
输出: "200"
解释: 移掉首位的 1 剩下的数字为 200. 注意输出不能有任何前导零。

示例 3 :

输入: num = "10", k = 2
输出: "0"
解释: 从原数字移除所有的数字,剩余为空就是0。

class Solution {
public:
    string removeKdigits(string num, int k) {
        string res = "";
        int n = num.size(), keep = n - k;
        for (char c : num) {
            while (k && res.size() && res.back() > c) {
                res.pop_back();
                --k;
            }
            res.push_back(c);
        }
        res.resize(keep);
        while (!res.empty() && res[0] == '0') res.erase(res.begin());
        return res.empty() ? "0" : res;
    }
};

402.移掉K位数字相关推荐

  1. LeetCode 402. 移掉K位数字 中等难度

    402. 移掉K位数字 题目: 给定一个以字符串表示的非负整数 num,移除这个数中的 k 位数字,使得剩下的数字最小. 注意: num 的长度小于 10002 且 ≥ k. num 不会包含任何前导 ...

  2. Java实现 LeetCode 402 移掉K位数字

    402. 移掉K位数字 给定一个以字符串表示的非负整数 num,移除这个数中的 k 位数字,使得剩下的数字最小. 注意: num 的长度小于 10002 且 ≥ k. num 不会包含任何前导零. 示 ...

  3. 402. 移掉K位数字(单调栈)

    给定一个以字符串表示的非负整数 num,移除这个数中的 k 位数字,使得剩下的数字最小. 注意: num 的长度小于 10002 且 ≥ k. num 不会包含任何前导零. 示例 1 : 输入: nu ...

  4. LeetCode 402. 移掉K位数字(贪心,单调栈)

    1. 题目 给定一个以字符串表示的非负整数 num,移除这个数中的 k 位数字,使得剩下的数字最小. 注意: num 的长度小于 10002 且 ≥ k. num 不会包含任何前导零. 示例 1 : ...

  5. C++算法学习(力扣:402. 移掉K位数字)

    给定一个以字符串表示的非负整数 num,移除这个数中的 k 位数字,使得剩下的数字最小. 注意: num 的长度小于 10002 且 ≥ k. num 不会包含任何前导零. 示例 1 : 输入: nu ...

  6. leetcode 402. 移掉K位数字(贪心算法)

    给定一个以字符串表示的非负整数 num,移除这个数中的 k 位数字,使得剩下的数字最小. 注意: num 的长度小于 10002 且 ≥ k. num 不会包含任何前导零. 示例 1 : 输入: nu ...

  7. 402. 移掉K位数字 golang

    测试用例 示例 2 : 输入: num = "10200", k = 1 输出: "200" 解释: 移掉首位的 1 剩下的数字为 200. 注意输出不能有任何 ...

  8. 402.移掉K位数字,使得剩下数字最小

    思路 这道题让我们从一个字符串数字中删除 k 个数字,使得剩下的数最小.也就说,我们要保持原来的数字的相对位置不变. 以题目中的 num = 1432219, k = 3 为例,我们需要返回一个长度为 ...

  9. leetcode 402. Remove K Digits | 402. 移掉 K 位数字(单调栈)

    题目 https://leetcode.com/problems/remove-k-digits/ 题解 本题考察对问题的抽象能力,多写几个例子可以发现,这是一个单调栈问题,维护一个单调不减栈. cl ...

  10. LeetCode 402:移掉K位数字--JAVA

    给定一个以字符串表示的非负整数 num,移除这个数中的 k 位数字,使得剩下的数字最小. 注意: num 的长度小于 10002 且 ≥ k. num 不会包含任何前导零. 示例 1 : 输入: nu ...

最新文章

  1. android 根目录缓存,Android系统中内部存储和外部存储(公有目录、私有目录、缓存目录)详解...
  2. php uncaught thrown,PHP异常详解
  3. ICMP诊断报文类型
  4. 数据结构有哪些?数据结构的特点?算法与数据结构
  5. GPLinker:基于GlobalPointer的事件联合抽取
  6. QueryRunner使用
  7. Java学习笔记(二):String
  8. 电脑打字学习_寒假就这样做!即不让孩子烦,还能让他有进步,开学就能迅速进入学习状态!...
  9. php的图像处理有哪些实际作用,PHP_一个经典实用的PHP图像处理类分享,本图像处理类可以完成对图片 - phpStudy...
  10. pytorch 与 numpy 的相互转换
  11. day 61 pymysql
  12. Docker第一章:安装及初始化配置
  13. websocket 压测工具 有哪些_性能测试总结(概念amp;流程amp;工具)
  14. 如何利用excel中的数据源制作数据地图
  15. Python xlrd、xlwt 用法说明
  16. php计算文字高度,用PHP GD计算文本宽度
  17. java roundup函数_Excel函数(2)if、rand、round函数
  18. 如何实现电脑远程操控西门子触摸屏画面
  19. iOS音频开发(录音+播放+剪辑+合成+压缩转码)
  20. MP4转MP3——python

热门文章

  1. [转]项目中常用的19条MySQL优化
  2. Python六大开源框架对比:Web2py略胜一筹(转)
  3. tf.nn的conv2d卷积与max_pool池化
  4. [淘宝商城首页]-图片灯箱明暗遮罩效果之jquery版
  5. maven解决“Could not calculate build plan”问题
  6. Navicat for Mysql 如何备份数据库
  7. 数据仓库专题(14)-数据仓库建设指导原则:一切以就绪数据为主
  8. envi反演水质参数_一种基于航空高光谱数据的水库水质参数定量反演方法与流程...
  9. c++ idea 插件_推荐 33 个 IDEA 最牛配置,写代码太爽了
  10. mybatis mysql触发器_MyBatis创建Oracle触发器