3.2---最小栈(CC150)
//思路:入栈时不是最小值,永远都没机会成为最小值。 import java.util.Stack;
class MinStack { private Stack<Integer> stack = new Stack<Integer>();
private Stack<Integer> minStack = new Stack<Integer>(); public void push(int x) {
stack.push(x);
if(!minStack.empty())
{
int min = minStack.peek();
if(x <= min)
{
minStack.push(x);
}
}
else
{
minStack.push(x);
}
} public void pop() { if(minStack.size() != 0 && ((int)stack.peek() == (int)minStack.peek()))
{
minStack.pop(); }
stack.pop();
} public int top() {
return (int)stack.peek();
} public int getMin() { return (int)minStack.peek();
}
}
3.2---最小栈(CC150)的更多相关文章
- [LeetCode] Min Stack 最小栈
		Design a stack that supports push, pop, top, and retrieving the minimum element in constant time. pu ... 
- [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 实现最小栈
		LeetCode相关的网上资源比较多,看到题目一定要自己做一遍,然后去学习参考其他的解法. 链接: https://oj.leetcode.com/problems/min-stack/ 题目描述: ... 
- lintcode 中等题:Min stack 最小栈
		题目 带最小值操作的栈 实现一个带有取最小值min方法的栈,min方法将返回当前栈中的最小值. 你实现的栈将支持push,pop 和 min 操作,所有操作要求都在O(1)时间内完成. 解题 可以定义 ... 
- python实现时间o(1)的最小栈
		这是毕业校招二面时遇到的手写编程题,当时刚刚开始学习python,整个栈写下来也是费了不少时间.毕竟语言只是工具,只要想清楚实现,使用任何语言都能快速的写出来. 何为最小栈?栈最基础的操作是压栈(pu ... 
- LeetCode OJ:Min Stack(最小栈问题)
		Design a stack that supports push, pop, top, and retrieving the minimum element in constant time. pu ... 
- LeetCode初级算法--设计问题02:最小栈
		LeetCode初级算法--设计问题02:最小栈 搜索微信公众号:'AI-ming3526'或者'计算机视觉这件小事' 获取更多算法.机器学习干货 csdn:https://blog.csdn.net ... 
- LeetCode 155:最小栈 Min Stack
		LeetCode 155:最小栈 Min Stack 设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈. push(x) -- 将元素 x 推入栈中. pop() -- ... 
- [LeetCode] 155. Min Stack 最小栈
		Design a stack that supports push, pop, top, and retrieving the minimum element in constant time. pu ... 
- LeetCode 腾讯精选50题--最小栈
		题目很简单,实现一个最小栈,能够以线形的时间获取栈中元素的最小值 自己的思路如下: 利用数组,以及两个变量, last用于记录栈顶元素的位置,min用于记录栈中元素的最小值: 每一次push,都比较m ... 
随机推荐
- CodeForces 710CMagic Odd Square(经典-奇数个奇数&偶数个偶数)
			题目链接:http://codeforces.com/problemset/problem/710/C 题目大意:输入一个奇数n,则生成n*n矩阵,要求矩阵的行.列还有斜着,所有元素之和为奇数. 解题 ... 
- expect神器安装和使用
			安装: mdkir /data/tools cd /data/tools wget http://prdownloads.sourceforge.net/tcl/tcl8.5.19-src.tar.g ... 
- Garbage Collection C++
			http://herbsutter.com/2011/10/25/garbage-collection-synopsis-and-c/ http://www.codeproject.com/Artic ... 
- ECSHOP MYSQL 公用类库中的autoExecute方法
			include/cls_mysql.php 正常操作 例如: $sql = “UPDATE ecs_user SET user = ‘buxuan’ WHERE user_id = ″; $db-&g ... 
- Docker 修改默认存储位置
			首先使用 docker info 查看 docker 的基本信息 sudo docker info Containers: 0 Images: 5 Storage Driver: devicemapp ... 
- MongoDB 3.0.6 安装 增删改查
			下载 安装包MSI http://yunpan.cn/cmhHdTPkXZRM2 访问密码 9b6c 上边提供的是 MongoDB 3.0.6 64Bit 的安装包 安装 如果不想直接安装在C盘.. ... 
- 【转】使用Eclipse构建Maven项目 (step-by-step)
			安装eclipse 及配置maven时,参考的资料!!! from:http://blog.csdn.net/qjyong/article/details/9098213 Maven这个个项目管理和构 ... 
- matplotlib basic and boxplot
			============================================matplotlib 绘图基础========================================= ... 
- 条件查询N多的情况下,回显解决方法。
			条件查询每个web程序员一定都写过,关于条件回显值页面的思路很简单,将页面的值传到后台,放置request作用域,然后回显至页面. 如果几个条件还好些,如果是下面这种情况呢? 如果条件像以上情况N多情 ... 
- js改变HTML元素的值
			js改变HTML元素的值(常用,备忘) <!DOCTYPE html> <html> <body> <h1>我的第一段 JavaScript</h ... 
