【Leetcode】 155. La secuencia de empujar y pop de la pila más pequeña y la pila JZ31

 Autor: Xiao Lu 

Columna: "Leetcode"

Palabras favoritas: El mundo es más hermoso gracias a los jóvenes que se ponen de pie. —— "Diario del Pueblo"


155. Pila mínima 

155. Pila mínima

Tema Descripción;

Diseñe una pila que admita operaciones push, pop y top y que pueda recuperar el elemento más pequeño en tiempo constante.

Implemente la clase MinStack:

MinStack() Inicializa un objeto de pila.
void push(int val) empuja el elemento val a la pila.
void pop() Elimina el elemento en la parte superior de la pila.
int top() Obtiene el elemento superior de la pila.
int getMin() Obtiene el elemento más pequeño de la pila.
 

Ejemplo:

Ideas:

Utilice dos pilas, una para almacenamiento normal y otra para almacenamiento de valor mínimo, para atravesar la pila normal. Si la parte superior de _st es menor o igual que la parte superior de _minst, empuje la pila hacia adentro y la pila será similar.

código:

class MinStack {
public:
    MinStack() {

    }
    
    void push(int val) {
        _st.push(val);
        if(_minst.empty()||val<=_minst.top())
        {
            _minst.push(val);
        }
    }
    
    void pop() {
        if(_minst.top()==_st.top())
        {
            _minst.pop();
        }
            _st.pop();

    }
    
    int top() {
return _st.top();
    }
    
    int getMin() {
return _minst.top();
    }
    private:
    stack<int>_st;
    stack<int>_minst;
};

 Las secuencias push y pop de la pila JZ31

Apilar secuencias de empujar y hacer estallar Desarrollar papel

 Descripción del Título:

Ejemplo:

código:

class Solution {
public:
    bool IsPopOrder(vector<int> pushV,vector<int> popV) {
        stack<int>st;
        int pushi=0;
        int popi=0;
        while(pushi<pushV.size())
        {
            st.push(pushV[pushi++]);
            while(!st.empty()&&st.top()==popV[popi])
            {
                st.pop();
                popi++;
            } 
        }
        return popi==popV.size();
    }
};

Supongo que te gusta

Origin blog.csdn.net/m0_69061857/article/details/130779547
Recomendado
Clasificación