LeetCode OJ:Min Stack(最小栈问题)
Design a stack that supports push, pop, top, and retrieving the minimum element in constant time.
- push(x) -- Push element x onto stack.
 - pop() -- Removes the element on top of the stack.
 - top() -- Get the top element.
 - getMin() -- Retrieve the minimum element in the stack.
 
设计一个最小栈,使得返回栈中的最小数的这个操作的时间复杂度为常数,用双栈实现,一个栈作为最小数的保存栈,代码如下:
 class MinStack {
 public:
     void push(int x)
     {
         s.push(x);
         if(sMin.empty() || x <= sMin.top())
             sMin.push(x);
     }
     void pop()
     {
         if(s.top() == sMin.top()){
             sMin.pop();
         }
         s.pop();
     }
     int top()
     {
         return s.top();
     }
     int getMin()
     {
         return sMin.top();
     }
 private:
     stack<int> s;
     stack<int> sMin;
 };
LeetCode OJ:Min Stack(最小栈问题)的更多相关文章
- [LeetCode] 155. Min Stack 最小栈
		
Design a stack that supports push, pop, top, and retrieving the minimum element in constant time. pu ...
 - [LeetCode] 0155. Min Stack 最小栈 & C++Runtime加速
		
题目 Design a stack that supports push, pop, top, and retrieving the minimum element in constant time. ...
 - [CareerCup] 3.2 Min Stack 最小栈
		
3.2 How would you design a stack which, in addition to push and pop, also has a function min which r ...
 - [LeetCode] Min Stack 最小栈
		
Design a stack that supports push, pop, top, and retrieving the minimum element in constant time. pu ...
 - lintcode 中等题:Min stack 最小栈
		
题目 带最小值操作的栈 实现一个带有取最小值min方法的栈,min方法将返回当前栈中的最小值. 你实现的栈将支持push,pop 和 min 操作,所有操作要求都在O(1)时间内完成. 解题 可以定义 ...
 - [LintCode] Min Stack 最小栈
		
Implement a stack with min() function, which will return the smallest number in the stack. It should ...
 - 【LeetCode】155. Min Stack 最小栈 (Python&C++)
		
作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 解题方法 栈同时保存当前值和最小值 辅助栈 同步栈 不同步栈 日期 题目地 ...
 - 第30题:LeetCode155. Min Stack最小栈
		
设计一个支持 push,pop,top 操作,并能在O(1)时间内检索到最小元素的栈. push(x) -- 将元素 x 推入栈中. pop() -- 删除栈顶的元素. top() -- 获取栈顶元素 ...
 - 155 Min Stack 最小栈
		
设计一个支持 push,pop,top 操作,并能在常量时间内检索最小元素的栈. push(x) -- 将元素x推入栈中. pop() -- 删除栈顶的元素. top() -- 获取 ...
 - LeetCode之Min Stack 实现最小栈
		
LeetCode相关的网上资源比较多,看到题目一定要自己做一遍,然后去学习参考其他的解法. 链接: https://oj.leetcode.com/problems/min-stack/ 题目描述: ...
 
随机推荐
- JMeter的安装和目录解析
			
Ubuntu系统中jmeter的安装和目录解析 作为一个Linux新手,在使用jdk时,或许会安装配置多次仍然导致无法使用情况(如无法登录系统等),请按如下步骤一步一步安装并配置 相关软件下载地址 J ...
 - 搭建Firekylin博客
			
搭建步骤 1).安装 Node.js curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash - yum - ...
 - ORA-00257: archiver error的解决方法
			
背景:多个用户同时做测试数据,有时候突然Oracle系统就崩溃了,然后报一个ORA-00257: archiver error. Connect internal only, until freed的 ...
 - Axure的总结
			
1.Axure的用途 Axure RP 能帮助网站需求设计者,快捷而简便的创建基于网站构架图的带注释页面示意图.操作流程图.以及交互设计,并可自动生成用于演示的网页文件和规格文件,以提供演示 ...
 - 20145324 《Java程序设计》第7周学习总结
			
20145324 <Java程序设计>第7周学习总结 教材学习内容总结 第十一章 1.静态sleep()用于流程暂停指定时间,单位是毫秒 2.一个Thread被标记为Daemon线程,在所 ...
 - linux目录结构及文件权限
			
安装banner用到的指令: 第一步: sudo apt-get update 第二步: sudo apt-get install sysvbanner 成功了 创建新用户指令: sudo addus ...
 - 仔细讨论 C/C++ 字节对齐问题⭐⭐
			
原文:https://www.cnblogs.com/AlexMiller/p/5509609.html 字节对齐的原因 为了提高 CPU 的存储速度,编译器会对 struct 和 union的存储进 ...
 - Jackson 框架JSON、XML、List、Map直接相互转换
			
博客分类: json 参考:http://www.cnblogs.com/hoojo/archive/2011/04/22/2024628.html 在其基础上做了稍微调整 详情见附件 jacks ...
 - makefile中的word函数作用是什么
			
答:用来取单词的函数,示例如下: $(word 1,hello jello yello) 上面的语句执行后的结果为hello,意为取字符串的第一个单词
 - [BZOJ4653 区间]
			
Description 在数轴上有 n个闭区间 [l1,r1],[l2,r2],...,[ln,rn].现在要从中选出 m 个区间,使得这 m个区间共同包含至少一个位置.换句话说,就是使得存在一个 x ...