2020/03/23
A pilha mínimo
Por favor, um design pilha, para além do impulso pilha convencional e pop funções suportado, também suporta a função min, a função retorna o valor mínimo dos elementos da pilha. Executando impulso, operações e pop min complexidade de tempo deve ser O (1)
exemplo:
Mins Obrigado mins graças = new Mins Graças ();
minStack.push (-2);
minStack.push (0);
minStack.push (-3);
minStack.getMin (); -> retornos -3.
minStack.pop ();
minStack.top (); -> 0 é retornado.
solução:
1 ideia: Fundação Stack
formato de dados Operação básica pilha
/ * * * Inicializar sua estrutura de dados aqui. * / Var MinStack = função () { este .STACK = []; este .index = 0 ; }; / * * * @ Param {número} x * @ return {vazio} * / MinStack.prototype.push = função (x) { este .STACK [ este .index ++] = x; // 最后一项插入 }; / * * * @ Return {vazio} * / MinStack.prototype.pop = função () { este= .Stack.length a esta .index - 1;. // reduzindo o comprimento excluindo o último um a este .index-- ; }; / * * * @ return {N} * / MinStack.prototype.top = função () { // retorna o último retornar a este .STACK [ a este .index - 1. ]; }; / * * * @return {número} * / MinStack.prototype.getMin = função () { // obter o mínimo de retorno Math.min (... a este .STACK); }; / * * * O seu objeto MinStack será instanciado e chamado como tal: * var obj = new MinStack () * obj.push (x) * obj.pop () * var param_3 = obj.top () * var param_4 = obj.getMin ( ) * /