lintcode12 带最小值操作的栈
实现一个带有取最小值min方法的栈,min方法将返回当前栈中的最小值。
你实现的栈将支持push,pop 和 min 操作,所有操作要求都在O(1)时间内完成。
建一个栈helpStack,用来存放从开始到目前位置的最小值,
1 /** 2 * lintcode12:带最小值操作的栈 3 * 狗剩的美丽家园 4 * 2017年12月4日15:33:23 5 */ 6 7 class MinStack { 8 public: 9 stack<int> mainStack; 10 stack<int> helpStack; 11 MinStack() { 12 // do initialization if necessary 13 } 14 15 void push(int number) { 16 // write your code here 17 int top; 18 mainStack.push(number); 19 20 if (!helpStack.empty()) { 21 top = helpStack.top(); 22 } else { 23 top = number; 24 } 25 26 if (number > top) { 27 helpStack.push(top); 28 } else { 29 helpStack.push(number); 30 } 31 } 32 33 int pop() { 34 // write your code here 35 if (!mainStack.empty()) { 36 int data = mainStack.top(); 37 mainStack.pop(); 38 helpStack.pop(); 39 return data; 40 } 41 } 42 43 int min() { 44 // write your code here 45 if (!helpStack.empty()) { 46 int data = helpStack.top(); 47 return data; 48 } 49 } 50 };
转载于:https://www.cnblogs.com/gousheng/p/7977492.html
lintcode12 带最小值操作的栈相关推荐
- LeetCode 1381. 设计一个支持增量操作的栈(deque/数组)
1. 题目 请你设计一个支持下述操作的栈. 实现自定义栈类 CustomStack : CustomStack(int maxSize):用 maxSize 初始化对象,maxSize 是栈中最多能容 ...
- 1381. 设计一个支持增量操作的栈
2020-05-11 1.题目描述 设计一个支持增量操作的栈 2.题解 使用vector在进行增量操作的时候会方便一些,vector支持push_back.pop_back.empty操作. 3.代码 ...
- LeetCode 5357. 设计一个支持增量操作的栈
5357. 设计一个支持增量操作的栈 思路:用数组实现即可 class CustomStack { public:CustomStack(int maxSize) {fill(a,a+1001,-1) ...
- 栈操作与栈帧 (转)
结构化程序的一个最基本的单元就是"函数"或者叫"过程".在汇编这一层自然也相应的有支持这些概念的指令操作,如栈操作和栈帧的概念. 首先这里要为"打开汇 ...
- 怪蛙带你通全栈 第8讲:电路设计之电路焊接(从这来看,焊接有焊锡膏挺简单的,涂上然后热风枪吹就可以了。)
从这来看,焊接有焊锡膏挺简单的,涂上然后热风枪吹就可以了. 转载自:https://mp.weixin.qq.com/s/I_RjVYyBJJwkcwVPsXX1Kw 怪蛙带你通全栈 第8讲:电路设计 ...
- 栈和队列之设计一个有getMin(得到最小值)功能的栈
有2中方案,分别用类和内部类实现了 import java.util.Stack;/*** @author chenyu 第一种设计:* 题目:设计一个有getMin功能的栈,设计一个特殊的栈,在实现 ...
- 八、栈的操作、栈空间
注:栈是进行字操作的,非字节.1个字等于两个字节,比如ax一个字分ah和al两个字节. 先进后出,后进先出 栈指令 栈规则先进后出的图像未过程简易图入栈 push:寄存器 例如:push ax //将 ...
- STM32中的位带(bit-band)操作
转:http://blog.csdn.net/gaojinshan/article/details/11479929 //位带操作,实现51类似的GPIO控制功能 //具体实现思想,参考<< ...
- 数据结构——栈(栈结构、栈面试题、栈的操作、栈结构实现、进制的转换)
目录 一.栈结构 二.栈面试题 四.栈的操作 1.push方法 2.pop方法 3.peek方法 4.isEmpty方法 5.size方法 五.栈结构实现 六.十进制转二进制 七.二进制.十六进制.十 ...
最新文章
- oracle sql 获取本季度所有月份,上季度所有月份
- mysql 备份表_MySQL中表的复制以及大型数据表的备份教程
- linux下文件权限管理
- 剑指offer之二叉搜索树的第K个节点
- 【CodeForces - 349B】Color the Fence (贪心,填数)
- 13-Mybatis 注解开发
- Python使用多进程批量判断素数
- oracle数据库内容替换,国产数据库能否替换oracle数据库?
- [转]Linux下用gcc/g++生成静态库和动态库(Z)
- uniapp连接蓝牙电子秤
- Linux下安装Nginx与配置
- java云之家发送信息_开发文档:考勤信息api - 云之家·开放平台
- 谷歌翻译函数C#代码实现
- KVC中setValue:forKey:实现原理
- 计算机网络计算下一跳
- Docker容器技术与应用(项目1 Docker容器简介)
- 【SpringBoot】十八、拦截器 interceptor
- 毒蘑菇导航,感觉不像是毒蘑菇,更像是个树莓了。
- 学生个人网页设计作品 学生个人网页模板简单个人主页成品 个人网页制作 HTML学生个人网站作业设计
- 第十一届蓝桥杯大赛决赛赛题 C++ 大学C组
热门文章
- 线性表的顺序存储的基本操作
- sql查询无结果返回空_3分钟短文 | Laravel 查询结果检查是不是空,5个方法你别用错...
- flash动画设计期末作业_「2019年下学期」第二十五二十六节:期末作品三-吉祥物设计...
- JS高级——内存管理和闭包
- python网络爬虫系列(六)——数据提取 lxml模块
- LeetCode 2150. 找出数组中的所有孤独数字(哈希)
- 02.改善深层神经网络:超参数调试、正则化以及优化 W1.深度学习的实践层面(作业:初始化+正则化+梯度检验)
- 前端:实现手机左右滑动效果
- 从零开始,手把手交给你vue如何新建一个项目
- python中的深浅拷贝