首页 > 试题广场 >

移掉 K 位数字

[编程题]移掉 K 位数字
  • 热度指数:4099 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定一个以字符串表示的数字 num 和一个数字 k ,从 num 中移除 k 位数字,使得剩下的数字最小。如果可以删除全部数字,则结果为 0。
1.num仅有数字组成
2.num是合法的数字,不含前导0
3.删除之后的num,请去掉前导0(不算在移除次数中)

数据范围:num的长度满足 ,保证 num 中仅包含 0~9 的十进制数
示例1

输入

"1432219",3

输出

"1219"

说明

移除 4 3 2 后剩下 1219   
示例2

输入

"10",1

输出

"0"
示例3

输入

"100999",3

输出

"9"
头像 代码界的小白
发表于 2022-03-10 20:37:06
题目主要信息 给定一个以字符串表示的数字 num 和一个数字 k ,从 num 中移除 k 位数字,使得剩下的数字最小。如果可以删除全部数字则剩下 0 1.num仅有数字组成 2.num是合法的数字,不含前导0 3.请你保证删除之后的num也不含前导0 方法一:单调栈 具体方法 遍历字符串,走到字符 展开全文
头像 牛客768685351号
发表于 2022-03-16 13:56:40
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param num string字符串 * @param k int整型 * 展开全文
头像 太阳hxy
发表于 2023-08-29 21:39:55
单调栈 import java.util.*; public class Solution { public String removeKnums (String num, int k) { //定义一个单调栈用于求删除k位后能得到的最小的整数 Stack< 展开全文
头像 不会做题的小菜鸡
发表于 2022-03-11 01:18:21
题目分析 题目给出了我们一个数字字符串,和一个数字k 题目说我们可以从字符串中去掉k位数字,返回最小数字字符串的方案 方法一:单调栈 实现思路 我们需要维护一个单调栈,将数字字符串每一个元素进行入栈处理(在这里我们用列表表示单调栈) 当取到的数字字符大于栈顶的时候,我们让数字正常入栈 当 展开全文
头像 C.T.F
发表于 2022-08-25 09:31:36
维护一个栈,每次将栈顶大于数组num当前值的元素弹出并加入数组元素1)栈顶元素>nums[i]循环弹出栈内此时所有大于nums[i]的值2)栈顶元素<=nums[i] nums[i]入栈 function removeKnums( num , k ) { // write c 展开全文
头像 monoKuma
发表于 2021-11-22 11:07:28
public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param num string字符串 * @param k int整型 * 展开全文
头像 AimerAimer
发表于 2022-03-07 15:46:00
题意:         给定一个以字符串表示的数字 num 和一个数字 k ,从 num 中移除 k 位数字,使得剩下的数字最小。如果可以删除全部数字则剩下 0     &nb 展开全文
头像 takooctopus
发表于 2022-02-23 09:59:46
class Solution { public: string removeKnums(string num, int k) { int n = num.size(); if(n <= k) return string("0"); str 展开全文
头像 Coming680
发表于 2022-03-21 17:02:53
单调栈的简单运用。 class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param num string字符串 * @param k in 展开全文
头像 牛客886831005号
发表于 2022-12-26 15:09:17
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param num string字符串 * @ 展开全文