【LeetCode】Min Stack
来源:互联网 发布:量化投资编程语言 编辑:程序博客网 时间:2024/06/03 18:43
class MinStack {public: void push(int x) {if (mini.empty()){ mini.push(x);mystack.push(x);return; }if (mini.top()>=x){mini.push(x);}mystack.push(x);return; } void pop() { if(!mystack.empty()){ if(mystack.top()==mini.top()){ mini.pop();}mystack.pop(); } } int top() { return mystack.top(); } int getMin() { return mini.top(); }stack<int> mini;stack<int> mystack;};
这道题的关键在于
mini.top()>=x这句,我试了很多次没过是因为没有加=号,因为我认为只要不是最小的才往mini栈里添加最小元素。但是因为最小的元素可能有多个,所以每个最小的元素如果只记一次,一旦清除了就不知道后面有没有这个最小的元素了。后来我又设计了一个计数器,用来记录每个最小元素的个数,结果那个方法报超出内存限制的错误,所以最好就是这个方法。
0 0
- LeetCode[stack]: Min Stack
- [leetcode][stack] Min Stack
- 【Leetcode】Min Stack
- Leetcode: Min Stack
- leetcode Min stack
- Min Stack -- LeetCode
- Leetcode: Min Stack
- 【LeetCode】Min Stack
- leetcode Min Stack
- leetcode--Min Stack
- [Leetcode]Min stack
- leetcode:Min Stack
- leetcode 之 Min Stack
- leetcode Min Stack
- LeetCode(155) Min Stack
- [LeetCode]Min Stack
- leetcode:Min Stack
- leetcode - Min Stack
- 同步处理的ArrayList和Vector性能小测试(多线程写法)
- Sharepoint学习笔记—Debug&TroubleShooting--Correlation ID的使用
- 关于vs编译后bin下的dll文件重新出现的问题
- Xamarin.iOS Binding Notes about .dylib and clang compiler
- 复合内存管理系统
- 【LeetCode】Min Stack
- CSS垂直居中方法
- How to use “Opengl Shader” in cocos2d-x3.0
- js图片,文字 渐变处理
- linux下包查询
- Provisioning Profiles 文件删除
- GWT MVP 学习笔记
- linux 修改环境变量
- 高手详谈PHP二维数组