Overview
Usa un diccionario (hash map) para contar frecuencias de elementos y resolver problemas de búsqueda en O(1).
Analogy
Como un índice de libro: en lugar de escanear todas las páginas, el índice te dice directamente dónde está cada palabra.
Step-by-step
- Crea un diccionario vacío
- Para cada elemento, actualiza su conteo
- Usa el diccionario para buscar en O(1)
- Analiza las frecuencias para responder preguntas
Visual
["a","b","a","c","b","a"]
→ {"a":3, "b":2, "c":1}
busca "a" → O(1)
Common mistakes
- No manejar colisiones de hash (Python lo hace internamente)
- Olvidar que los dicts de Python mantienen orden de inserción desde Python 3.7
Practice questions
- Comprueba si dos cadenas son anagramas
- Encuentra el primer carácter no repetido
Time
O(n) construcción, O(1) búsqueda
Space
O(k) — k elementos únicos