Pular para o conteudo principal

Sliding Window

O que sliding window significa e quando uma janela móvel ajuda a resolver problemas de substring, subarray e faixa contínua.

Andrews Ribeiro

Andrews Ribeiro

Founder & Engineer

O que é

Sliding window é uma técnica em que você mantém uma faixa contínua da entrada e ajusta suas bordas conforme o problema pede.

Em vez de recalcular tudo para cada trecho, você carrega estado de uma janela para a próxima.

Quando usar

Ela costuma encaixar quando o problema fala de:

  • substring
  • subarray
  • sequência contínua
  • limite de caracteres ou soma

O sinal mais forte é: o intervalo importa e mudar uma borda de cada vez reaproveita trabalho.

Erro comum

O erro clássico é chamar qualquer problema com dois índices de sliding window.

Se a janela não mantém uma propriedade clara enquanto anda, o nome sozinho não ajuda.

Pergunta melhor

Antes de aplicar, vale perguntar:

  1. o problema fala de intervalo contínuo?
  2. consigo atualizar a resposta ajustando só uma borda por vez?
  3. existe uma condição clara para expandir ou contrair a janela?

Continue explorando