博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode OJ:Min Stack(最小栈问题)
阅读量:6263 次
发布时间:2019-06-22

本文共 894 字,大约阅读时间需要 2 分钟。

Design a stack that supports push, pop, top, and retrieving the minimum element in constant time.

  • push(x) -- Push element x onto stack.
  • pop() -- Removes the element on top of the stack.
  • top() -- Get the top element.
  • getMin() -- Retrieve the minimum element in the stack.

设计一个最小栈,使得返回栈中的最小数的这个操作的时间复杂度为常数,用双栈实现,一个栈作为最小数的保存栈,代码如下:

1 class MinStack { 2 public: 3     void push(int x)  4     { 5         s.push(x); 6         if(sMin.empty() || x <= sMin.top()) 7             sMin.push(x); 8     } 9 10     void pop() 11     {12         if(s.top() == sMin.top()){13             sMin.pop();14         }15         s.pop();16     }17 18     int top() 19     {20         return s.top();21     }22 23     int getMin() 24     {25         return sMin.top();26     }27 private:28     stack
s;29 stack
sMin;30 };

 

转载于:https://www.cnblogs.com/-wang-cheng/p/5014376.html

你可能感兴趣的文章
Codeforces Round #455 (Div. 2)F. AND-permutations[bitmasks]
查看>>
知识树软件的数据流图(DFD图)
查看>>
异步调用与回调机制
查看>>
【086】◀▶ 51CTO中的博客
查看>>
【C017】VBA为多文件夹内文件加表头
查看>>
虚拟机下安装CentOS无法上网的解决方式
查看>>
Servlet/Jsp实现购物车
查看>>
计蒜客 429(腾讯手机地图-pi的精确值)
查看>>
基于CC2530的ZigBee转以太网网关的设计与实现
查看>>
16款创建CSS3动画的jQuery插件
查看>>
2017-6-4 用jQuery 做大图轮播
查看>>
MySQL 8.0.12 基于Windows 安装教程(超级详细)
查看>>
linux启动引导程序配置文件
查看>>
poj 2186: Popular Cows(tarjan基础题)
查看>>
Front_end - - JavaScript
查看>>
python3+requests:接口自动化测试(二)
查看>>
12月29日-作业
查看>>
c# yyyyMMdd,dd/MM/yyyy 类型字符串转换为datetime 类型
查看>>
docker-compose.yml的使用
查看>>
容易犯错的面试题
查看>>