Pular para o conteudo principal

Two Pointers

O que two pointers significa e quando dois ponteiros ajudam a reduzir comparação ou controlar uma janela.

Andrews Ribeiro

Andrews Ribeiro

Founder & Engineer

O que é

Two pointers é uma técnica em que você usa dois índices ou referências andando pela mesma estrutura.

Eles podem:

  • andar um contra o outro
  • andar juntos em velocidades diferentes
  • delimitar uma janela

Quando usar

Ela costuma fazer sentido quando:

  • a ordem da estrutura importa
  • você quer evitar comparação repetida
  • dá para decidir quem anda olhando o estado atual

Casos comuns:

  • array ordenado
  • palíndromo
  • janela com limite à esquerda e à direita

Erro comum

O erro clássico é decorar o nome e não a regra de movimento.

Se você não sabe por que o ponteiro da esquerda ou da direita anda, a técnica vira chute.

Pergunta melhor

Em vez de perguntar “isso é two pointers?”, vale perguntar:

  1. existe uma decisão local clara sobre qual lado mover?
  2. a ordem dos dados me ajuda?
  3. dois índices evitam trabalho repetido aqui?

Continue explorando