leetcode155
public class MinStack
{
Stack<int> S = new Stack<int>();
/** initialize your data structure here. */ int min = int.MaxValue; public MinStack()
{ } public void Push(int x)
{
if (S.Count > )
{
if (x < min)
{
min = x;
}
}
else
{
min = x;
}
S.Push(x);
} public void Pop()
{
if (S.Count > )
{
var top = S.Pop();
if (top == min && S.Count > )
{
min = S.Min();
}
}
} public int Top()
{
return S.Peek();
} public int GetMin()
{
return min;
}
} /**
* Your MinStack object will be instantiated and called as such:
* MinStack obj = new MinStack();
* obj.Push(x);
* obj.Pop();
* int param_3 = obj.Top();
* int param_4 = obj.GetMin();
*/
https://leetcode.com/problems/min-stack/#/description
leetcode155的更多相关文章
- [Swift]LeetCode155. 最小栈 | Min Stack
Design a stack that supports push, pop, top, and retrieving the minimum element in constant time. pu ...
- LeetCode155.最小栈
设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈. push(x) -- 将元素 x 推入栈中. pop() -- 删除栈顶的元素. top() -- 获取栈顶元素. ...
- 【Python】LeetCode-155
一.题目 Design a stack that supports push, pop, top, and retrieving the minimum element in constant tim ...
- leetcode155 Min Stack
题意:模拟一个最小栈,可以push,pop,top,和返回栈中最小值. 思路:已经忘了栈是怎么构建的了,晕···尝试了半天,错误,发现直接用stack数据结构来做最方便,再用一个栈来存最小值.值得注意 ...
- 第30题:LeetCode155. Min Stack最小栈
设计一个支持 push,pop,top 操作,并能在O(1)时间内检索到最小元素的栈. push(x) -- 将元素 x 推入栈中. pop() -- 删除栈顶的元素. top() -- 获取栈顶元素 ...
- [剑指offer] 5. 用两个栈实现队列+[剑指offer]30. 包含min函数的栈(等同于leetcode155) +[剑指offer]31.栈的压入、弹出序列 (队列 栈)
c++里面stack,queue的pop都是没有返回值的, vector的pop_back()也没有返回值. 思路: 队列是先进先出 , 在stack2里逆序放置stack1的元素,然后stack2. ...
- LeetCode-Stack-Easy
简单题 1. 有效的括号(leetcode-20) 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效. 有效字符串需满足: 1. 左括号必须用相同类型的右括 ...
随机推荐
- Linux:CentOS 7系统的安装
相信有看过我写的博文就知道我写的第一篇博文就是CentOS 7系统的安装,不过是在虚拟机中安装的,而且还是直接加载镜像文件进去的,不过这次我就通过PE来安装,来证实下PE是否可以用来安装Linux系统 ...
- aps.net国际化本地资源 .resources”正确嵌入或链接到程序集
asp.net国际化提供了资源文件的解决的方式, asp.net自带的两个项目文件夹 分别是:App_GlobalResources和App_LocalResources, App_GlobalRes ...
- L2-018. 多项式A除以B*
L2-018. 多项式A除以B 参考博客 #include <iostream> #include <map> #include <cmath> #include ...
- django之model多表操作
一对多表之间的查询: class userInfo(models.Model): name = models.CharField(max_length=50) password = models.Ch ...
- 拓扑排序bfs_dfs
dfs #include <cstdio> #include <cstring> using namespace std; ; struct Edge{ int lst; in ...
- cocos2dx解决中文乱码方法
使用plist文件,优点方便做多国语言支持~也不用去做编码转换 1.Resource目录下新建text.plist文件,内容格式如下 <?xml version="1.0" ...
- s21day12 python笔记
s21day12 python笔记 一.函数中高级 1.1 函数可以做返回值 #示例: def func(): print(123) def bar(): return func v = bar() ...
- 阻塞I/O、非阻塞I/O和I/O多路复用
一.阻塞I/O 首先,要从你常用的IO操作谈起,比如read和write,通常IO操作都是阻塞I/O的,也就是说当你调用read时,如果没有数据收到,那么线程或者进程就会被挂起,直到收到数据.阻塞的意 ...
- C#编码、解码与ASP.NET编码解码对应函数
JavaScript函数分别为:encodeURIComponent/decodeURIComponent C#对应的函数分别为:Uri.EscapeUriString/Uri.EscapeDataS ...
- golang: 利用unsafe操作未导出变量
unsafe.Pointer其实就是类似C的void *,在golang中是用于各种指针相互转换的桥梁.uintptr是golang的内置类型,是能存储指针的整型,uintptr的底层类型是int,它 ...