150 principais entrevistasFácil

Substituição de caracteres com repetição mais longa

Guia detalhado e implementação de Python para o problema de 'Substituição de caracteres de repetição mais longa'.

Declaração do problema

Fácil

Você recebe uma string s e um número inteiro k. Você pode escolher qualquer caractere da string e alterá-lo para qualquer outra letra maiúscula do inglês. Você pode realizar esta operação no máximo k vezes.

Retorne o comprimento da substring mais longa contendo a mesma letra que você pode obter após realizar as operações acima.

Escreva uma função characterReplacement(s: str, k: int) -> int.

Restrições
  • 1 <= len(s) <= 10^5
  • s consists of only uppercase English letters
  • 0 <= k <= len(s)

Exemplos

Example 1
Input
s = "ABAB", k = 2
Output
4
Explanation

Replace the two 'A's with 'B's or vice versa to get "BBBB" or "AAAA". The longest substring is 4.

Example 2
Input
s = "AABABBA", k = 1
Output
4
Explanation

Replace the 'B' at index 3 with 'A' to get "AAAAABA". The longest substring of same characters starting from index 0 is "AAAA" with length 4.

Need a Hint?
Considere usar estruturas de dados específicas da janela deslizante, como conjuntos ou heaps.
Edge Cases to Watch
  • Estruturas de entrada vazias
  • Entradas de elemento único
  • Grandes limites numéricos

Pronto para resolver?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Abrir no Editor
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Recursos Python recomendados

Expanda seu conhecimento com tutoriais interativos relacionados, folhas de dicas e comparações de código.