Menu
CoddyTech

Longest Repeating Character Replacement

Recibes una cadena s formada por letras mayúsculas del inglés y un entero k. Puedes elegir como máximo k posiciones de s y cambiar la letra de cada una por cualquier otra letra mayúscula.

Devuelve la longitud de la subcadena más larga, una secuencia de letras contiguas, que contiene una sola letra repetida después de los cambios.

Función

characterReplacement(s: string, k: integer) → integer
sstring
la cadena de letras mayúsculas
kinteger
la mayor cantidad de letras que puedes cambiar
Devuelveinteger
la longitud de la subcadena más larga de una misma letra repetida que puedes formar

Restricciones

  • 1 ≤ s.length ≤ 5 × 104
  • s contiene solo letras mayúsculas en inglés.
  • 0 ≤ k ≤ s.length

Ejemplos

Entrada
s = "BAAACAB"k = 1
Salida
5
Explicación
Cambia la C por una A y los índices del 1 al 5 leen AAAAA. Para seis letras se necesitarían dos cambios: los índices del 0 al 5 contienen una B y la C, y los índices del 1 al 6 contienen la C y la última B.

lock icon+17 pruebas ocultas al enviar

challenge icon

Para ir más allá

¿Qué cambia si s puede contener cualquier carácter, no solo las 26 letras mayúsculas?

Restablecer código
def characterReplacement(s, k):
    # Escribe el código aquí
Casos de prueba

Caso 1

Caso 2

Caso 3

Entrada

s = "BAAACAB"
k = 1

Esperado

5