Overview
Dos punteros que se mueven desde extremos opuestos (o a diferentes velocidades) para resolver problemas de arreglos en O(n).
Analogy
Como dos personas buscando un libro específico — una empieza por el principio de la estantería, la otra por el final, y se van acercando.
Step-by-step
- Coloca L en el inicio, R en el final
- Mueve L hacia adelante o R hacia atrás según la condición
- Procesa el par (L, R) cuando cumplen el criterio
- Para cuando L >= R (o la condición de parada)
Visual
[1,2,3,4,5], objetivo=6
L=0,R=4: 1+5=6 ✓ → par encontrado
L=1,R=3: 2+4=6 ✓ → otro par
Common mistakes
- Aplicar dos punteros a arreglos no ordenados donde se requiere orden
- No manejar duplicados correctamente para contar todos los pares
Practice questions
- Encuentra todos los pares que suman a un objetivo
- Problema del contenedor de más agua (LeetCode 11)
Time
O(n) después de ordenar O(n log n)
Space
O(1) — sin espacio extra