Menu
CoddyTech

Remove K Digits

Дано неотрицательное число, записанное в виде строки цифр num, и целое число k. Удали ровно k цифр и сохрани остальные в исходном порядке так, чтобы оставшееся число было как можно меньше.

Верни его в виде строки без ведущих нулей. Если ничего не осталось или остались только нули, верни "0".

Функция

removeKdigits(num: string, k: integer) → string
numstring
число, записанное в виде строки цифр
kinteger
сколько цифр удалить
Возвращаетstring
наименьшее число, которое можно оставить в виде строки без ведущих нулей

Ограничения

  • 1 ≤ num.length ≤ 4 × 104
  • 0 ≤ k ≤ num.length
  • num содержит только цифры от 0 до 9.
  • num не содержит ведущих нулей, кроме случая, когда само число равно нулю: "0".

Примеры

Ввод
num = "4325043"k = 3
Вывод
"2043"
Пояснение
Удаление 4 и первой 3 ставит 2 впереди. 0 не может быть первым: перед ним стоят четыре цифры, а у тебя есть три удаления. При последнем удалении убирается 5, которая стоит перед меньшим 0.
challenge icon

Дополнительный вопрос

Как бы ты изменил решение, чтобы удалить k цифр и оставить наибольшее число?

Сбросить код
def removeKdigits(num, k):
    # Напишите код здесь

Тест #1

Тест #2

Тест #3

Аргументы

num = "4325043"
k = 3

Ожидаемый вывод

"2043"