Menu
CoddyTech

Remove K Digits

Du erhältst eine nichtnegative Zahl, die als Zeichenfolge aus Ziffern geschrieben ist, num, und eine ganze Zahl k. Entferne genau k Ziffern und behalte die übrigen in ihrer ursprünglichen Reihenfolge bei, sodass die verbleibende Zahl so klein wie möglich ist.

Gib sie als Zeichenfolge ohne führende Nullen zurück. Wenn nichts übrig bleibt oder nur Nullen übrig bleiben, gib "0" zurück.

Funktion

removeKdigits(num: string, k: integer) → string
numstring
die Zahl, als Ziffernfolge geschrieben
kinteger
wie viele Ziffern entfernt werden sollen
Gibt zurückstring
die kleinste Zahl, die du stehen lassen kannst, als Zeichenfolge ohne führende Nullen

Einschränkungen

  • 1 ≤ num.length ≤ 4 × 104
  • 0 ≤ k ≤ num.length
  • num enthält nur die Ziffern 0 bis 9.
  • num hat keine führenden Nullen, außer wenn es selbst die Zahl Null ist, "0".

Beispiele

Eingabe
num = "4325043"k = 3
Ausgabe
"2043"
Erklärung
Wenn du die 4 und die erste 3 entfernst, steht die 2 vorne. Die 0 kann nicht an erster Stelle stehen: Vier Ziffern stehen vor ihr, und du hast drei Entfernungen. Bei der letzten Entfernung nimmst du die 5, die vor einer kleineren 0 steht.
challenge icon

Weiterführende Frage

Wie würdest du die Lösung ändern, um k Ziffern zu entfernen und stattdessen die größtmögliche Zahl zu erhalten?

Code zurücksetzen
def removeKdigits(num, k):
    # Schreibe hier den Code

Test #1

Test #2

Test #3

Argumente

num = "4325043"
k = 3

Erwartete Ausgabe

"2043"