Menu
CoddyTech

Longest Repeating Character Replacement

Du erhältst eine Zeichenfolge s aus englischen Großbuchstaben und eine ganze Zahl k. Du darfst höchstens k Positionen in s auswählen und den Buchstaben an jeder dieser Positionen durch einen beliebigen anderen Großbuchstaben ersetzen.

Gib die Länge des längsten Teilstrings zurück, also einer Folge direkt aufeinanderfolgender Buchstaben, die nach deinen Änderungen nur aus demselben wiederholten Buchstaben besteht.

Funktion

characterReplacement(s: string, k: integer) → integer
sstring
die Zeichenkette aus Großbuchstaben
kinteger
die meisten Buchstaben, die du ändern darfst
Gibt zurückinteger
die Länge des längsten Teilstrings aus demselben wiederholten Buchstaben, den du bilden kannst

Einschränkungen

  • 1 ≤ s.length ≤ 5 × 104
  • s enthält nur englische Großbuchstaben.
  • 0 ≤ k ≤ s.length

Beispiele

Eingabe
s = "BAAACAB"k = 1
Ausgabe
5
Erklärung
Ändere das C in ein A, und an den Indizes 1 bis 5 steht AAAAA. Für sechs Buchstaben wären zwei Änderungen nötig: An den Indizes 0 bis 5 stehen ein B und das C, und an den Indizes 1 bis 6 stehen das C und das letzte B.

lock icon+17 versteckte Tests beim Einreichen

challenge icon

Weiterführende Frage

Was ändert sich, wenn s jedes beliebige Zeichen enthalten kann und nicht nur die 26 Großbuchstaben?

Code zurücksetzen
def characterReplacement(s, k):
    # Schreibe hier den Code
Testfälle

Fall 1

Fall 2

Fall 3

Eingabe

s = "BAAACAB"
k = 1

Erwartet

5