Ejercicio00:00
¿Quieres un reto mayor?
Resuelve en 20:00
info
Importante: Para que se registre el resultado tienes que iniciar sesión.
MinStack: mínimo en O(1)
Master100 pts·Algoritmos
Enunciado
MinStack: mínimo en O(1)
Implementa una estructura de datos tipo pila (stack) que soporta las siguientes operaciones, todas en tiempo O(1):
"push"— apila el valor dado."pop"— desapila el elemento superior. Nunca se llama si la pila está vacía."top"— devuelve el elemento superior sin desapilarlo."getMin"— devuelve el valor mínimo actual de la pila.
La función recibe un array de operaciones con el formato [operacion, valor?] y devuelve un array con los resultados de "top" y "getMin" (en el mismo orden en que aparecen). Las operaciones "push" y "pop" no producen salida.
Ejemplo
minStack([
["push", -2],
["push", 0],
["push", -3],
["getMin"], // -3
["pop"],
["top"], // 0
["getMin"], // -2
])
// [-3, 0, -2]
Notas
- Todas las operaciones deben ser O(1).
- La pila nunca estará vacía cuando se llame a
"top","pop"o"getMin".
Restriccionesexpand_more
- Dificultad: Master
- Completa todos los test cases para obtener los 100 puntos.
- No modificar la línea
exportal final del archivo. - Se recomienda evitar el uso de inteligencia artificial para que realmente tú practiques los ejercicios.
Puedes usar console.log() para depurar. Los resultados aparecen en la Consola de salida, no en el navegador.
Inicia sesión para reaccionar
Inicia sesión para reaccionar