[LintCode] 带最小值操作的栈

简介: 1 class MinStack { 2 public: 3 MinStack() { 4 // do initialization if necessary 5 } 6 7 void push(int number) { ...
 1 class MinStack {
 2 public:
 3     MinStack() {
 4         // do initialization if necessary
 5     }
 6 
 7     void push(int number) {
 8         // write your code here
 9         if (minimum.empty() || number <= minimum.top())
10             minimum.push(number);
11         data.push(number);
12     }
13 
14     int pop() {
15         // write your code here
16         if (minimum.top() == data.top())
17             minimum.pop();
18         int elem = data.top();
19         data.pop();
20         return elem;
21     }
22 
23     int min() {
24         // write your code here
25         return minimum.top();
26     }
27 private:
28     stack<int> data;
29     stack<int> minimum;
30 };

 

目录
相关文章
|
16天前
|
消息中间件 存储 搜索推荐
深入理解栈和队列(二):队列
深入理解栈和队列(二):队列
29 0
|
1月前
【栈】数据结构栈的实现
【栈】数据结构栈的实现
|
1月前
|
存储
数据结构--栈和队列
数据结构--栈和队列
|
1月前
|
存储 算法 数据处理
数据结构从入门到精通——栈
栈,作为一种后进先出(LIFO)的数据结构,在计算机科学中扮演着重要的角色。它的特性使得它在处理函数调用、括号匹配、表达式求值等问题时具有得天独厚的优势。然而,如果我们跳出传统思维的束缚,会发现栈的用途远不止于此。
58 0
|
1月前
|
C语言
数据结构之栈详解(C语言手撕)
数据结构之栈详解(C语言手撕)
35 1
|
1月前
|
存储 算法
数据结构— —栈的基本操作(顺序栈和链栈)
数据结构— —栈的基本操作(顺序栈和链栈)
58 0
|
1月前
|
Python
Python实现数据结构(如:链表、栈、队列等)。
Python实现数据结构(如:链表、栈、队列等)。
34 0
|
9天前
|
存储 算法 调度
数据结构期末复习(3)栈和队列
数据结构期末复习(3)栈和队列
17 0
|
21天前
|
存储 缓存 算法
【算法与数据结构】栈的实现详解
【算法与数据结构】栈的实现详解