Menu
CoddyTech

Longest Repeating Character Replacement

Você recebe uma string s de letras maiúsculas do alfabeto inglês e um inteiro k. Você pode escolher no máximo k posições de s e alterar a letra em cada uma delas para qualquer outra letra maiúscula.

Retorne o comprimento da substring mais longa — uma sequência de letras adjacentes — que contenha uma única letra repetida após suas alterações.

Função

characterReplacement(s: string, k: integer) → integer
sstring
a sequência de letras maiúsculas
kinteger
o maior número de letras que você pode alterar
Retornainteger
o comprimento da maior substring de uma letra repetida que você consegue formar

Restrições

  • 1 ≤ s.length ≤ 5 × 104
  • s contém apenas letras maiúsculas do alfabeto inglês.
  • 0 ≤ k ≤ s.length

Exemplos

Entrada
s = "BAAACAB"k = 1
Saída
5
Explicação
Troque o C por um A e os índices de 1 a 5 formam AAAAA. Para seis letras, seriam necessárias duas alterações: os índices de 0 a 5 contêm um B e o C, e os índices de 1 a 6 contêm o C e o último B.

lock icon+17 testes ocultos ao enviar

challenge icon

Para ir além

O que muda se s puder conter qualquer caractere, e não apenas as 26 letras maiúsculas?

Redefinir código
def characterReplacement(s, k):
    # Escreva o código aqui
Casos de teste

Caso 1

Caso 2

Caso 3

Entrada

s = "BAAACAB"
k = 1

Esperado

5