Menu
CoddyTech

Remove K Digits

Otrzymujesz nieujemną liczbę zapisaną jako ciąg cyfr num oraz liczbę całkowitą k. Usuń dokładnie k cyfr i zachowaj pozostałe w ich pierwotnej kolejności, tak aby otrzymana liczba była jak najmniejsza.

Zwróć ją jako ciąg znaków bez zer wiodących. Jeśli nic nie zostało albo zostały same zera, zwróć "0".

Funkcja

removeKdigits(num: string, k: integer) → string
numstring
liczba zapisana jako ciąg cyfr
kinteger
ile cyfr usunąć
Zwracastring
najmniejsza liczba, jaką możesz pozostawić, jako ciąg znaków bez zer wiodących

Ograniczenia

  • 1 ≤ num.length ≤ 4 × 104
  • 0 ≤ k ≤ num.length
  • num przechowuje wyłącznie cyfry od 0 do 9.
  • num nie ma zer wiodących, chyba że jest to sama liczba zero: "0".

Przykłady

Wejście
num = "4325043"k = 3
Wyjście
"2043"
Wyjaśnienie
Usunięcie 4 i pierwszej 3 stawia 2 na początku. 0 nie może być pierwsze: przed nim stoją cztery cyfry, a masz trzy usunięcia. Ostatnie usunięcie obejmuje 5, które stoi przed mniejszym 0.
challenge icon

Pytanie dodatkowe

Jak zmienić rozwiązanie, aby usunąć k cyfr i zamiast tego pozostawić największą liczbę?

Zresetuj kod
def removeKdigits(num, k):
    # Wpisz kod tutaj

Test #1

Test #2

Test #3

Argumenty

num = "4325043"
k = 3

Oczekiwany wynik

"2043"