剑指offer第二十题【包含min函数的栈】c++实现
来源:互联网 发布:印度 巴基斯坦 知乎 编辑:程序博客网 时间:2024/06/02 04:15
包含min函数的栈
定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。
听了左神的讲解,才知道这题不是考察链表,考察设计。此题可以使用stl中的栈。
解法是 一个数据站 一个辅助栈
比如进栈顺序是
4 5 3 5 2 2 6 5
辅助栈
4 x 3 x 2 2 x x
x代表不进栈
也比较好看出 辅助栈 的栈顶就是用来保存 数据站中的最小值的。
所以辅助栈只压入 小于等于当前最小值的数
出栈时,如果数据栈顶和辅助栈顶相同时,辅助栈才出栈。
<pre name="code" class="cpp">class Solution {public: void push(int value) { if(sta.empty()){ sta.push(value); help.push(value); }else{ sta.push(value); if(value<=help.top()){ help.push(value); } } } void pop() { if(sta.top()==help.top()){ help.pop(); } sta.pop(); } int top() { return sta.top(); } int min() { return help.top(); } stack<int> sta; stack<int> help;};
0 0
- 剑指offer第二十题【包含min函数的栈】c++实现
- 【剑指offer】实现包含min函数的栈
- 剑指Offer: (Java实现) 包含min函数的栈
- 【剑指offer】包含min函数的栈
- 剑指offer--包含min函数的栈
- 剑指Offer-->包含min函数的栈
- 《剑指offer》包含min函数的栈
- 剑指offer - 包含min函数的栈
- 剑指offer-包含min函数的栈
- 剑指offer:包含min函数的栈
- 包含min函数的栈|剑指offer
- 剑指offer-包含min函数的栈
- 剑指offer 包含min函数的栈
- 剑指offer:包含min函数的栈
- 剑指offer 包含min函数的栈
- [剑指offer]包含min函数的栈
- 《剑指offer》-包含min函数的栈
- 剑指offer----包含min函数的栈
- 旋转数组的最小数字
- IOS基础UI之(七)综合小案例-猜图
- POJ1837
- 在windows上安装php扩展
- NYOJ——463 九九乘法表
- 剑指offer第二十题【包含min函数的栈】c++实现
- MyBatis SqlSessionFactory的几种常见创建方式
- Objective-C Foundation框架实践——NSArray(一)
- 在ogre中加载 ogremax场景文件方法
- 汇编语言 第三版 王爽 实验12 编写0号终端的处理程序
- kendoui分级显示
- 黑马程序员-java基础(七)-IO流
- 第二章 构造函数语意学 成员们的初始化队伍
- [置顶]R语言 分层抽样---分层随机抽样(SRS)(二 )