Menu
CoddyTech

Remove K Digits

Você recebe um número não negativo escrito como uma string de dígitos, num, e um inteiro k. Remova exatamente k dígitos e mantenha os demais na ordem original, de modo que o número restante seja o menor possível.

Retorne-o como uma string sem zeros à esquerda. Se nada restar ou restarem apenas zeros, retorne "0".

Função

removeKdigits(num: string, k: integer) → string
numstring
o número, escrito como uma sequência de dígitos
kinteger
quantos dígitos remover
Retornastring
o menor número que você pode deixar, como uma string sem zeros à esquerda

Restrições

  • 1 ≤ num.length ≤ 4 × 104
  • 0 ≤ k ≤ num.length
  • num contém apenas os dígitos 0 a 9.
  • num não tem zeros à esquerda, exceto quando ele próprio é o número zero, "0".

Exemplos

Entrada
num = "4325043"k = 3
Saída
"2043"
Explicação
Descartar o 4 e o primeiro 3 coloca o 2 na frente. O 0 não pode ficar na frente: há quatro dígitos antes dele e você tem três remoções. A última remoção pega o 5, que fica antes de um 0 menor.
challenge icon

Para ir além

Como você alteraria a solução para remover k dígitos e deixar o maior número?

Redefinir código
def removeKdigits(num, k):
    # Escreva o código aqui

Teste #1

Teste #2

Teste #3

Argumentos

num = "4325043"
k = 3

Saída Esperada

"2043"