Menu
CoddyTech

Longest Repeating Character Replacement

Você recebe uma string s formada por letras maiúsculas do alfabeto inglês e um inteiro k. Você pode escolher no máximo k posições de s e trocar a letra em cada uma delas por 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 as alterações.

Função

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

Restrições

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

Exemplos

Entrada
s = "BAAACAB"k = 1
Saída
5
Explicação
Alterar o C para A faz com que os índices de 1 a 5 formem AAAAA. As duas janelas de seis letras contêm um B e o C, então precisam de duas alterações.
challenge icon

Para ir além

O que muda se s puder conter qualquer caractere em vez das 26 letras maiúsculas?

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

Teste #1

Teste #2

Teste #3

Argumentos

s = "BAAACAB"
k = 1

Saída Esperada

5