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 davon in einen beliebigen anderen Großbuchstaben ändern.

Gib die Länge der längsten Teilzeichenfolge zurück, einer Folge von direkt aufeinanderfolgenden Buchstaben, die nach deinen Änderungen nur einen einzigen wiederholten Buchstaben enthält.

Funktion

characterReplacement(s: string, k: integer) → integer
sstring
die Zeichenfolge aus Großbuchstaben
kinteger
die meisten Buchstaben, die du ändern darfst
Gibt zurückinteger
die Länge der längsten Teilzeichenfolge, die du aus Wiederholungen eines einzelnen Buchstabens bilden kannst

Einschränkungen

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

Beispiele

Eingabe
s = "BAAACAB"k = 1
Ausgabe
5
Erklärung
Wenn du das C in A änderst, lesen sich die Indizes 1 bis 5 als AAAAA. Beide Sechs-Zeichen-Fenster enthalten ein B und das C, daher sind zwei Änderungen nötig.
challenge icon

Weiterführende Frage

Was ändert sich, wenn s ein beliebiges Zeichen statt eines der 26 Großbuchstaben enthalten kann?

Code zurücksetzen
def characterReplacement(s, k):
    # Schreibe hier Code

Test #1

Test #2

Test #3

Argumente

s = "BAAACAB"
k = 1

Erwartete Ausgabe

5