|MinStack: mínimo en O(1)Master
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 export al 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
3 soluciones · 100% aceptación