题目

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

  • 注意:

    • 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) {/**使用贪心算法要使数字最小首先从高位开始比起,高位越小数字越小比较方法可以用后一个数字去与前一个数字进行比较 如果后一个数字大于等于前一个数字的话就不需要删除前一个数字。*/if(num.length()==k) return "0";//如果数字长度刚好等于要删除的长度,那么返回0StringBuilder s=new StringBuilder(num);//使用StringBuilder可以动态的修改字符串for(int i=0;i<k;i++){int x=0;for(int j=1;j<s.length()&&s.charAt(j)>=s.charAt(j-1);j++)x=j;s.delete(x,x+1);if(s.length()>1 && s.charAt(0)=='0') s.delete(0,1);//数字的首位不难为0}return s.toString();}
}

贪心---移掉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. LeetCode移掉k位数字(贪心算法)python

    描述 给定一个以字符串表示的非负整数 num,移除这个数中的 k 位数字,使得剩下的数字最小. num的长度小于10002,且将≥k.给定的num不包含任何前导零. 您在真实的面试中是否遇到过这个题? ...

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

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

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

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

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

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

  7. leetcode402. 移掉K位数字

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

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

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

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

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

最新文章

  1. 有关SwfUpLoad的2038 错误
  2. c# winform datagridview改变表头标题的颜色(column header)
  3. 微软一站式示例代码库 2012 年2月示例代码更新。8个全新示例为您的开发保驾护航...
  4. android fragment界面滑动切换效果,Android App中使用ViewPager+Fragment实现滑动切换效果...
  5. mysql+查看connection_如何查看MySQL connection id连接id
  6. SSIS包如何动态指定文件路径
  7. MYSQL 8.0 OCP
  8. Java使用融云SDK,推送聊天信息
  9. 3CDaemon FTP使用教程
  10. solidworks钣金件设计术语creo/ug适用
  11. java中的element_element是什么意思
  12. 第三方支付接口申请条件和流程
  13. 转: 特征值和特征向量--1
  14. 大城市灯红酒绿,海伦司靠一杯酒如何建起护城河?
  15. python的dict
  16. 多智能体协同控制(从零开始)(一)
  17. Ipad2022可以用电容笔吗?双十一值得入手电容笔推荐
  18. Oracle存储过程
  19. “呼死你”重出江湖 如何避免骚扰电话?
  20. bs文件服务器,BS在线文件管理系统

热门文章

  1. Android Bundle类别
  2. PHP高并发高负载系统架构
  3. Cookies和Session(二)
  4. 路由重分布列表控制例子
  5. sohu读博——周忆清
  6. python需要配置环境变量吗_python为什么会环境变量设置不成功
  7. 2021重庆高考成绩名次排名查询,重庆高考排名对应大学-重庆高考位次大学(2021年理科)...
  8. 怎样查找html概念,HTML一般概念_html
  9. soapui和cxf的却别_根据wsdl文件用soapUi快速构建webService服务(有图有真相)
  10. python ssh shell交互_使用Paramiko在Python上用ssh实现交互式shell?