Menu
CoddyTech

Remove K Digits

On vous donne un nombre non négatif écrit sous forme de chaîne de chiffres, num, et un entier k. Supprimez exactement k chiffres et conservez les autres dans leur ordre d’origine, de façon à obtenir le plus petit nombre possible.

Renvoyez-le sous forme de chaîne sans zéros en tête. S’il ne reste rien, ou qu’il ne reste que des zéros, renvoyez "0".

Fonction

removeKdigits(num: string, k: integer) → string
numstring
le nombre, écrit sous forme de chaîne de chiffres
kinteger
combien de chiffres supprimer
Renvoiestring
le plus petit nombre que vous pouvez laisser, sous forme de chaîne sans zéros initiaux

Contraintes

  • 1 ≤ num.length ≤ 4 × 104
  • 0 ≤ k ≤ num.length
  • num ne contient que les chiffres 0 à 9.
  • num n'a pas de zéros initiaux, sauf lorsqu'il s'agit du nombre zéro lui-même, "0".

Exemples

Entrée
num = "4325043"k = 3
Sortie
"2043"
Explication
Supprimer le 4 et le premier 3 place le 2 devant. Le 0 ne peut pas être en tête : quatre chiffres le précèdent et tu as trois suppressions. La dernière suppression enlève le 5, qui se trouve avant un 0 plus petit.
challenge icon

Pour aller plus loin

Comment modifierais-tu la solution pour supprimer k chiffres et laisser le plus grand nombre à la place ?

Réinitialiser le code
def removeKdigits(num, k):
    # Écrivez le code ici

Test #1

Test #2

Test #3

Arguments

num = "4325043"
k = 3

Résultat attendu

"2043"