A pilha mínimo

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 ( ) 
 * /

 

Acho que você gosta

Origin www.cnblogs.com/lanpang9661/p/12550169.html
Recomendado
Clasificación