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/ 题目描述: ... 
随机推荐
- TOSCA自动化测试工具--new Project
			1.在默认页面点击Project 进入new project页面 2.第一步出来的页面上点击new 3. 第2步弹出的页面上选择路径,project 名 3.OK之后就创建好了 
- ashx  方法模板
			; ); //查询字符串拼接 string searchparams = DTRequest.GetQueryString("jsonstring"); fooddetail mo ... 
- Windows下编译live555源码
			Windos下编译live555源码 环境 Win7 64位 + VS2012 步骤 1)源码下载并解压 在官网上下载最新live555源码,并对其进行解压. 2)VS下建立工程项目 新建Win32项 ... 
- 第三方CSS安全吗?
			原文:https://jakearchibald.com/201...翻译:疯狂的技术宅 本文首发微信公众号:jingchengyideng欢迎关注,每天都给你推送新鲜的前端技术文章 前一段时间,有很 ... 
- [翻译]小提示:使用figure和figcaption元素的正确方式
			figure和figcaption是一对经常被一起使用的语义化标签.如果你还没有看过规范中的定义,现在有机会在你的项目中使用它们了.如果你不知道怎么用,下面是关于如何正确使用它们的一些提示. figu ... 
- 推荐个非常简单好用的AOP -- MrAdvice
			https://github.com/ArxOne/MrAdvice 太简单了,写好自己的处理类, 作为Attribute加到要拦截的方法或者类上就可以了. Here is the minimal s ... 
- jQuery的$.each()遍历checkbox
			$("input[type='checkbox']").each(function(){ var value = $(this).val(); //获得值 $(this).attr ... 
- 爬虫之Requests: 让 HTTP 服务人类
			Requests: 让 HTTP 服务人类 虽然Python的标准库中 urllib2 模块已经包含了平常我们使用的大多数功能,但是它的 API 使用起来让人感觉不太好,而 Requests 自称 “ ... 
- L1-3 宇宙无敌加法器 - 令人激动的一道题目
			L1-3 宇宙无敌加法器 - 令人激动的一道题目 感觉好久没有这么认真的做一道题了,今天看到一句话, 说是编程是一个工程型的工作,想要学好,"无他,唯手熟尔" 之前觉得自己笨,怀疑 ... 
- 解题报告:51nod 加农炮
			2017-10-07 16:15:16 writer:pprp 题目来源: Codility 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 一个长度为M的正整 ... 
