Este repositorio contiene un plan de estudio estructurado con 9 problemas clásicos de LeetCode, diseñado específicamente para preparar entrevistas técnicas en Python.
leetcode-python/
├── PLAN_DE_ESTUDIO.md # Plan detallado con cronograma
├── README.md # Este archivo
├── utils.py # Utilidades y helpers
├── easy/ # Problemas nivel Easy
│ ├── 001_two_sum.py
│ ├── 020_valid_parentheses.py
│ └── 021_merge_two_sorted_lists.py
├── medium/ # Problemas nivel Medium
│ ├── 094_binary_tree_inorder_traversal.py
│ ├── 049_group_anagrams.py
│ ├── 053_maximum_subarray.py
│ └── 200_number_of_islands.py
└── hard/ # Problemas nivel Hard
├── 023_merge_k_sorted_lists.py
└── 042_trapping_rain_water.py
# Navegar al directorio del problema
cd easy/
python 001_two_sum.pyCada archivo incluye tests integrados. Simplemente ejecuta el archivo:
python easy/001_two_sum.pyfrom utils import timer, validate_solution, print_problem_header
# Decorador para medir tiempo
@timer
def my_solution():
# Tu código aquí
pass
# Validar solución
validate_solution(test_function, "Descripción del test")- Two Sum - Hash Tables, Arrays
- Valid Parentheses - Stack, String
- Merge Two Sorted Lists - Linked Lists, Recursion
- Binary Tree Inorder Traversal - Trees, DFS, Stack
- Group Anagrams - Hash Tables, Sorting
- Maximum Subarray - Dynamic Programming, Kadane's Algorithm
- Number of Islands - Graph, DFS/BFS
- Merge k Sorted Lists - Heap, Divide & Conquer
- Trapping Rain Water - Two Pointers, DP, Stack
| Estructura de Datos | Algoritmos | Técnicas |
|---|---|---|
| Arrays | Two Pointers | Hash Tables |
| Linked Lists | DFS/BFS | Recursión |
| Stacks | Dynamic Programming | Divide & Conquer |
| Binary Trees | Sorting | Greedy |
| Graphs | Graph Traversal | Sliding Window |
| Heaps | Binary Search | Backtracking |
- Semana 1: Problemas Easy (1-3)
- Semana 2: Problemas Medium (4-7)
- Semana 3: Problemas Hard (8-9) + Repaso
Para cada problema:
- 📖 Análisis (10 min): Lee y entiende el problema
- 🎯 Planificación (10 min): Diseña la solución en pseudocódigo
- ⌨️ Implementación (20-30 min): Código en Python
- 🧪 Testing (10 min): Prueba con casos edge
- ⚡ Optimización (10-15 min): Mejora tiempo/espacio
- 📝 Revisión (5-10 min): Documenta lecciones aprendidas
- Python 3.8+
- No se requieren librerías externas
git clone <tu-repo>
cd leetcode-pythonMarca tu progreso en PLAN_DE_ESTUDIO.md:
- Problema 1: Two Sum
- Problema 2: Valid Parentheses
- Problema 3: Merge Two Sorted Lists
- Problema 4: Binary Tree Inorder Traversal
- Problema 5: Group Anagrams
- Problema 6: Maximum Subarray
- Problema 7: Number of Islands
- Problema 8: Merge k Sorted Lists
- Problema 9: Trapping Rain Water
- 🗣️ Comunica tu proceso: Explica tu razonamiento
- 🔍 Maneja casos edge: Considera inputs vacíos, nulos, etc.
- 📊 Analiza complejidad: Discute O(n) tiempo y espacio
- 🔧 Optimiza iterativamente: Comienza simple, luego mejora
- 🎤 Practica en voz alta: Simula condiciones reales
Si tienes preguntas o sugerencias, no dudes en abrir un issue.
¡Buena suerte en tu entrevista! 🚀