Coding · 9 min
Top 12 patrones de LeetCode para entrevistas en 2026
Los 12 patrones que dominan el 80% de las preguntas LeetCode. Memoriza estos y reduces tu tiempo de resolución a la mitad.
Después de revisar miles de entrevistas FAANG, los 12 patrones que dominan son consistentes. No tienes que resolver 500 LeetCode — solo necesitas reconocer rápido a qué patrón pertenece cada problema y aplicar el template correcto. Aquí están los 12, en orden de frecuencia en entrevistas reales.
1. Two Pointers — O(n)
Dos punteros recorriendo el array desde extremos opuestos o en la misma dirección. Ideal para: Two Sum sorted, 3Sum, palindrome check, container with most water. Template: while (left < right) { ... move left or right }. Patrón de ataque mental: 'array ordenado + buscar par/triplete'.
2. Sliding Window — O(n)
Ventana móvil que se expande y contrae sobre el array. Para: longest substring without repeating, minimum window substring, max sum subarray of size k. Template: expand right, shrink left when invalid. Mental: 'contiguous subarray con condición'.
3. Fast & Slow Pointers — O(n)
Tortoise & hare. Para: linked list cycle, middle of list, palindrome list. Slow avanza 1, fast avanza 2. Si se encuentran, hay ciclo. Mental: 'linked list + ciclo o middle'.
4. Merge Intervals — O(n log n)
Ordena por start y mergea solapamientos. Para: merge intervals, insert interval, meeting rooms. Template: sort, then iterate and merge when overlap. Mental: 'intervalos en una línea de tiempo'.
5. Cyclic Sort — O(n)
Para arrays con números 1..n donde puedes usar el índice como posición esperada. Para: missing number, find duplicates, smallest missing positive. Mental: 'numbers in range 1..n'.
6. In-place Reversal of Linked List — O(n)
Revertir linked list sin extra space. Para: reverse list, reverse sublist, reverse k group. Template: prev, curr, next pointers. Mental: 'linked list + reverse'.
7. BFS — O(V + E)
Breadth-first search en árboles y grafos con queue. Para: level order traversal, shortest path unweighted, minimum depth. Mental: 'shortest path o nivel por nivel'.
8. DFS — O(V + E)
Depth-first search con stack o recursión. Para: tree paths, connected components, cycle detection. Mental: 'todos los caminos o explorar profundo'.
9. Backtracking — O(branches^depth)
Para: permutations, combinations, subsets, sudoku, N-queens. Template: add → recurse → remove. Mental: 'all possible combinations'.
10. Dynamic Programming — varía
Memoización top-down o tabulación bottom-up. Para: knapsack, LIS, edit distance, coin change. Mental: 'subproblems con solapamiento'. Identifica el subproblema y la recurrencia.
11. Heap / Priority Queue — O(n log k)
Min-heap o max-heap para top-K. Para: top K frequent, K closest points, merge K sorted lists, median of stream. Mental: 'top-K o stream con mediana'.
12. Topological Sort — O(V + E)
Para grafos dirigidos acíclicos (DAG). Para: course schedule, task scheduling, build order. Kahn's algorithm con queue. Mental: 'dependencies + order'.
Aprendizaje clave
Memoriza los 12 patrones, no los 500 problemas. Con Darknote.ai puedes capturar el problema por OCR y la IA detecta automáticamente el patrón en menos de 2 segundos.