Overview
Dado un arreglo de enteros y un objetivo, encuentra dos números que sumen al objetivo.
Analogy
Como buscar dos piezas de puzzle que encajen: para cada pieza, buscas su complemento exacto.
Step-by-step
- Para cada elemento, calcula el complemento = objetivo - elemento
- Comprueba si el complemento ya está en el hash map
- Si está: devuelve ambos índices
- Si no: añade el elemento actual al hash map y continúa
Visual
nums=[2,7,11,15], objetivo=9
i=0: complemento=7, no en map → {2:0}
i=1: complemento=2, ¡en map! → [0,1]
Common mistakes
- Usar doble bucle anidado → O(n²) innecesario
- No manejar duplicados correctamente
Practice questions
- Implementa versión con doble bucle primero, luego optimiza
- Resuelve 3-Sum y 4-Sum reduciendo a 2-Sum
Time
O(n) — una pasada con hash map
Space
O(n) — para el hash map