Menu
CoddyTech

Longest Repeating Character Replacement

Hai una stringa s composta da lettere maiuscole inglesi e un intero k. Puoi scegliere al massimo k posizioni di s e cambiare la lettera in ciascuna di esse con un'altra lettera maiuscola.

Restituisci la lunghezza della sottostringa più lunga, cioè una sequenza di lettere consecutive, che contiene una sola lettera ripetuta dopo le modifiche.

Funzione

characterReplacement(s: string, k: integer) → integer
sstring
la stringa di lettere maiuscole
kinteger
il maggior numero di lettere che puoi modificare
Restituisceinteger
la lunghezza della sottostringa più lunga che puoi ottenere ripetendo una sola lettera

Vincoli

  • 1 ≤ s.length ≤ 5 × 104
  • s contiene solo lettere maiuscole inglesi.
  • 0 ≤ k ≤ s.length

Esempi

Input
s = "BAAACAB"k = 1
Output
5
Spiegazione
Cambiare la C in A fa sì che gli indici da 1 a 5 contengano AAAAA. Entrambe le finestre di sei lettere contengono una B e la C, quindi richiedono due modifiche.
challenge icon

Per approfondire

Che cosa cambia se s può contenere qualsiasi carattere anziché le 26 lettere maiuscole?

Ripristina il codice
def characterReplacement(s, k):
    # Scrivi il codice qui

Test #1

Test #2

Test #3

Argomenti

s = "BAAACAB"
k = 1

Output atteso

5