侧边栏壁纸
博主头像
微尘 博主等级

行动起来,活在当下

  • 累计撰写 132 篇文章
  • 累计创建 1 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

数组模拟一个栈(push,pop和max_valcaozuo)

Administrator
2023-03-11 / 0 评论 / 0 点赞 / 9 阅读 / 0 字

介绍

这个数组模拟的栈拥有push、pop还有找到当前栈的最大值的操作。

找到最大值的操作时间复杂度为o(1)。
主要就是push的时候会和前面的最大值比较,然后数组存储最大值,这里因为不用获取top所以没有用top函数。
具体应用题目链接

源码

class STACK
{
public:
    int cnt = 0;
    int f[100000] = {};
    void push(int x)
    {
        cnt ++;
        f[cnt] = max(f[cnt - 1], x);
    }   

    void pop()
    {
        if (cnt != 0) cnt --;
    }

    int max_val()
    {
        return f[cnt];  
    }
};
0

评论区