2023-08-06力扣做过了的题

链接:

剑指 Offer 30. 包含min函数的栈

题意:

如题

解:

初级算法里做过的题

优化是存储和min的差值使得只需要n的栈和一个int min

实际代码:

#include
using namespace std;
class MinStack {
public:
    using PII = pair;
    /** initialize your data structure here. */
    MinStack():Min(INT_MAX) {};
    //默认构造 
    void push(int x)
    {
        using std::min;
        st.push({x,Min});
        Min=min(Min,x); 
    }
    //压入数据 
    void pop()
    {
        Min=st.top().second;
        st.pop();
    }
    //弹出数据 
    int top()
    {
        return st.top().first;
    }
    //获取栈顶 
    int min()
    {
        return Min;
    }
    //获取最小值 
private:
    //数据 
    stackst;
    int Min;
};
int main()
{
    
}

限制:

  • 各函数的调用总次数不超过 20000 次

你可能感兴趣的:(力扣每日一题,leetcode,数据结构,c++)