剑指Offer(30)包含min函数的栈
2018-02-10 17:57
411 查看
题目描述
定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。
算法:无
数据结构:栈
编程语言:C++
时间复杂度:O(1)
定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。
算法:无
数据结构:栈
编程语言:C++
时间复杂度:O(1)
class Solution { public: void push(int value) { st1.push(value);//存储新值 if(smin.empty()) smin.push(value); if(value<smin.top())//比栈中最小的值小,存储新值 smin.push(value); } void pop() { if(smin.top()==st1.top())//如果smin中含有当前栈顶元素,一起删除 smin.pop(); st1.pop();//删除栈顶元素 } int top() { return st1.top();//返回栈顶元素 } int min() { return smin.top();//返回最小元素 } private: stack<int> st1;//用于存储所有数据的栈 stack<int> smin;//用于存储数据的最小值 };
相关文章推荐
- 剑指offer--面试题30:包含min函数的栈
- 【剑指offer】面试题30:包含min函数的栈
- 【剑指offer——JAVA实现】包含min函数的栈(含思路解答示意图)
- 剑指offer——20.包含min函数的栈
- 【剑指offer】之包含min函数的栈
- 剑指Offer题目1522:包含min函数的栈
- 剑指offer:包含min函数的栈
- 剑指offer题21_包含min函数的栈
- 剑指offer-面试题21-包含min函数的栈
- 剑指Offer之包含min函数的栈
- 【剑指offer】面试题 30:包含 min 函数的栈
- 剑指Offer面试题20顺时针打印矩阵,面试题21包含min函数的栈
- 【剑指offer】数据结构 ——包含min函数的栈(C++)
- 剑指offer_面试题21_包含min函数的栈
- 剑指Offer——包含min函数的栈
- 码农小汪-剑指Offer之18-包含min函数的栈
- 剑指offer 包含min函数的栈
- 剑指offer面试题[21]包含min函数的栈
- 剑指offer之面试题21:包含min函数的栈
- 剑指offer 21题 【举例让抽象具体化】包含min函数的栈