155. Min Stack
来源:互联网 发布:edge浏览器打不开淘宝 编辑:程序博客网 时间:2024/06/05 01:59
title
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.
example
MinStack minStack = new MinStack();
minStack.push(-2);
minStack.push(0);
minStack.push(-3);
minStack.getMin(); –> Returns -3.
minStack.pop();
minStack.top(); –> Returns 0.
minStack.getMin(); –> Returns -2.
solution
class MinStack {public: /** initialize your data structure here. */ MinStack() { } void push(int x) { s1.push(x); if(s2.empty()) { s2.push(x); } else if(s2.top() >= x) { s2.push(x); } } void pop() { if(!s2.empty() && s2.top() == s1.top()) { s2.pop(); } s1.pop(); } int top() { return s1.top(); } int getMin() { return s2.top(); }private: stack<int> s1; stack<int> s2;};
/**
* 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();
*/
runtime: 56ms
一个stack负责push/pop/top操作,另一个栈负责存储栈当前最小值。
0 0
- Stack-----155. Min Stack
- LeetCode 155. Min Stack
- 【LeetCode】155.Min Stack
- LeetCode 155.Min Stack
- [leetcode] 155.Min Stack
- [leetcode] 155.Min Stack
- 155. Min Stack
- 155. Min Stack
- Leetcode 155. Min Stack
- 155. Min Stack
- 155. Min Stack LeetCode
- 155. Min Stack
- [LeetCode]155. Min Stack
- 155. Min Stack
- 155. Min Stack
- 155. Min Stack
- LeetCode *** 155. Min Stack
- 【leetcode】155. Min Stack
- EasyUI 树形菜单网格
- nginx的哈希表结构--ngx_hash_t
- linphone-PayloadType.java文件分析
- 适配器模式
- TCP/IP详解 笔记1
- 155. Min Stack
- 第一章
- Java中的sleep()和wait()的区别
- 和BEM的战斗:10个常见问题及如何避免
- 对于实现一个优先级队列程序的注解
- 块元素、行内元素,替换元素、非替换元素
- Obeject内的方法
- 虚析构函数
- Eratosthenes筛选法