LintCode(M)带min函数的栈
来源:互联网 发布:数据库系统概念第六版 编辑:程序博客网 时间:2024/06/05 18:00
带最小值操作的栈
描述
笔记
数据
评测
实现一个带有取最小值min方法的栈,min方法将返回当前栈中的最小值。
你实现的栈将支持push,pop 和 min 操作,所有操作要求都在O(1)时间内完成。
注意事项
如果堆栈中没有数字则不能进行min方法的调用
您在真实的面试中是否遇到过这个题?
样例
如下操作:push(1),pop(),push(2),push(3),min(), push(1),min() 返回 1,2,1
class MinStack {public: MinStack() { // do initialization if necessary } void push(int number) { // write your code here m1.push(number); if(m2.empty()||number<=m2.top()) //最初m2.empty()写成m1.empty(),结果找了好久的bug... m2.push(number); else m2.push(m2.top()); } int pop() { // write your code here if(m1.empty()) return -1; if(!m1.empty()){ m2.pop();int m=m1.top();m1.pop(); return m; } if (m1.empty()) return -1; int t = m1.top(); m1.pop(); if (!m2.empty() && m2.top() == t) m2.pop(); return t; } int min() { // write your code here if(!m2.empty()) return m2.top(); return -1; } private: stack<int> m1,m2;};
0 0
- LintCode(M)带min函数的栈
- 带min函数的栈
- 带min函数的栈
- [LintCode] 带最小值操作的栈 Min Stack
- Google/LintCode:M-带最小值操作的栈
- LintCode:M-带重复元素的排列
- 带min()函数的栈的实现
- 算法题23 带min函数的栈
- 带MIN函数的栈实现(push pop min 操作都只花O(1))
- LintCode(M) 复制带随机指针的复杂链表
- LintCode:M-复制带随机指针的链表
- Lintcode 带最小值的栈
- 实现min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- c#添加事件,以xtraTabPage控件添加MouseWheel事件为例,实现图像的放大缩小
- OpenCart 常见错误解决
- 3DGIS第三章 约束条件下二次误差度量简化方法
- ip地址的几种处理方式
- Camera Calibration and 3D Reconstruction(opencv 2.4)
- LintCode(M)带min函数的栈
- 跨域CORS原理及调用具体示例
- 百度API接口开发,创建标注和Label标签。
- iOS -- 网络请求到的数据,中文出现乱码!!!
- JVM总结-内存监视手段及各区域内存溢出解决
- OpenGL中的轨迹球问题
- Log4j
- ios字体与安卓字体设置
- Linux RPM 命令参数使用详解