03/23/2020
El circuito de espera mínimo
Por favor, un diseño de pila, además del empuje pila convencional y pop funciones soportadas, también es compatible con la función min, la función devuelve el valor mínimo de los elementos de la pila. Realización de empuje, operaciones pop y min de tiempo de complejidad debe ser O (1)
Ejemplo:
Min, gracias mins gracias = new mins Gracias ();
minStack.push (-2);
minStack.push (0);
minStack.push (-3);
minStack.getMin (); -> retornos -3.
minStack.pop ();
minStack.top (); -> 0 se devuelve.
solución:
1 idea: Pila fundación
formato de datos Funcionamiento básico pila
/ * * * Inicializar su estructura de datos aquí. * / Var MinStack = función () { este .STACK = []; este .index = 0 ; }; / * * * @Param {número} x * @return {void} * / MinStack.prototype.push = función (x) { este .STACK [ este .index ++] = x; // 最后一项插入 }; / * * * @Return {void} * / MinStack.prototype.pop = función () { este= .Stack.length el este .index - 1;. // mediante la reducción de la longitud de eliminar el último el este .index-- ; }; / * * * @return {Número} * / MinStack.prototype.top = función () { // devuelve el último regreso al presente .STACK [ la presente .index - 1. ]; }; / * * * @return {Número} * / MinStack.prototype.getMin = función () { // Obtener el mínimo retorno Math.min (... el presente .STACK); }; / * * * Su objeto MinStack se creará una instancia y llamó como tal: * var obj = new MinStack () * obj.push (x) * obj.pop () * var = param_3 obj.top () * var = param_4 obj.getMin ( ) * /