Pilas para emparejar corchetes
Valide paréntesis con una pila
Pilas para emparejar corchetes es una lección gratuita de Competitive Programming Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Competitive Programming Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Competitive Programming Academy incluye 4 lecciones en total.
El último en entrar es el primero en salir
Una pila es una estructura en la que el último elemento que se añade es el primero que se retira, como al apilar platos. 🍽️
Las listas de Python son pilas
En Python no necesita una clase especial. Una list normal ya funciona como una pila rápida y lista para usar en concursos.
stack = []Apilar con append
Para añadir un elemento a la cima de la pila, llame a append, que coloca el valor al final de la lista en tiempo O(1).
stack.append('(')
stack.append('[')Desapilar desde la cima
Llamar a pop sin índice elimina y devuelve el último elemento, es decir, el que se apiló más recientemente.
top = stack.pop() # removes '['Consultar sin eliminar
Para consultar el elemento superior sin retirarlo, basta con leer stack[-1]. Esta consulta resulta útil antes de decidir si se desapila.
if stack:
top = stack[-1]Comprobar siempre si está vacía
Desapilar una pila vacía produce un error. Proteja cada operación de desapilado comprobando primero if stack para que la solución nunca falle.
La idea de emparejar corchetes
Los corchetes se anidan perfectamente, por lo que una pila resulta ideal. Apile cada corchete de apertura; cada uno de cierre debe coincidir con la cima de la pila.
Asociar el cierre con la apertura
Mantenga un pequeño diccionario que asocie cada corchete de cierre con el corchete de apertura que espera, para que las comprobaciones sean claras.
pairs = {')': '(', ']': '[', '}': '{'}Recorrer y decidir
Recorra la cadena una sola vez. Apile los corchetes de apertura y, al encontrar uno de cierre, compárelo con la cima extraída usando el mapa pairs.
for c in s:
if c in pairs.values():
stack.append(c)Una discrepancia significa que no es válido
Si el corchete de apertura extraído no coincide, o la pila está vacía cuando la necesita, la cadena es inválida de inmediato.
elif not stack or stack.pop() != pairs[c]:
return FalsePila vacía al final
Después del recorrido, un corchete de apertura restante significa que algo nunca se cerró. La cadena es válida únicamente cuando la pila queda finalmente vacía.
return not stackComprobación rápida
Está validando corchetes con una pila. ¿Qué indica que la pila no esté vacía al final?
Resumen: las pilas controlan los corchetes
Ha aprendido que una lista funciona como una pila: apile los corchetes de apertura, desapile al encontrar los de cierre y compruebe que la pila esté vacía al final para confirmar que están equilibrados. ¡Muy bien! 🎉
Preguntas frecuentes
¿La lección «Pilas para emparejar corchetes» es gratis?
Sí — el texto completo de «Pilas para emparejar corchetes» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Competitive Programming Academy, actualiza a CoddyKit PRO. El curso de Competitive Programming Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Pilas para emparejar corchetes»?
Valide paréntesis con una pila Practicas Competitive Programming Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Competitive Programming Academy?
No se requiere experiencia previa. Competitive Programming Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.
¿Cuánto tiempo toma la lección «Pilas para emparejar corchetes»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Competitive Programming Academy?
Sí. Cada lección de Competitive Programming Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Pilas para emparejar corchetes
- Pila monótona: siguiente elemento mayor
- Colas y collections.deque
- Máximo de ventana deslizante con deque