Menu
CoddyTech

Longest Repeating Character Replacement

On vous donne une chaîne s composée de lettres majuscules anglaises et un entier k. Vous pouvez choisir au plus k positions de s et remplacer la lettre à chacune de ces positions par n’importe quelle autre lettre majuscule.

Renvoyez la longueur de la plus longue sous-chaîne, une suite de lettres consécutives, qui contient une seule lettre répétée après vos modifications.

Fonction

characterReplacement(s: string, k: integer) → integer
sstring
la chaîne de lettres majuscules
kinteger
le plus grand nombre de lettres que vous pouvez modifier
Renvoieinteger
la longueur de la plus longue sous-chaîne de lettres identiques que vous pouvez former

Contraintes

  • 1 ≤ s.length ≤ 5 × 104
  • s ne contient que des lettres majuscules anglaises.
  • 0 ≤ k ≤ s.length

Exemples

Entrée
s = "BAAACAB"k = 1
Sortie
5
Explication
Remplacer le C par A fait que les indices de 1 à 5 affichent AAAAA. Les deux fenêtres de six lettres contiennent un B et le C, donc elles nécessitent deux modifications.
challenge icon

Pour aller plus loin

Qu'est-ce qui change si s peut contenir n'importe quel caractère au lieu des 26 lettres majuscules ?

Réinitialiser le code
def characterReplacement(s, k):
    # Écrivez le code ici

Test #1

Test #2

Test #3

Arguments

s = "BAAACAB"
k = 1

Résultat attendu

5