Min Stack(leetcode)
来源:互联网 发布:魔兽60年代魔兽数据库 编辑:程序博客网 时间:2024/05/23 16:21
题目:
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.
题目来源:https://oj.leetcode.com/problems/min-stack/
解题思路:在这个栈中维护一个栈,每当有<=栈的最小值的值入栈就把这个最小值同时弹入另一个栈中,这个维护的栈顶就是当前栈中的最小的元素。注意:在遇到与当前最小值相等的元素时,也要入栈,这样在弹出时,就不会引起错误了!!
#include<iostream>#include<stack>using namespace std;class MinStack {stack<int> S;stack<int> minS;public: void push(int x) {S.push(x);if(minS.empty() || x<=minS.top())minS.push(x); } void pop() {if(S.top()==minS.top())minS.pop();S.pop(); } int top() {return S.top(); } int getMin() {return minS.top(); }};int main() { MinStack s;s.push(-3);s.push(-2);cout<<s.getMin()<<endl; system("pause"); return 0; }
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
- 软件工程作业二——结对编程(用HTML5搭建3D俄罗斯方块)
- ctype.h里的函数
- 关于dsp仿真器的选择
- 实现swap函数的简单应用
- Apache Log4j使用实例
- Min Stack(leetcode)
- 画个圆环
- 技术分析:细说3D投影机技术原理
- python学习笔记一
- 大数据简介与大数据分析
- c++ 27——vector
- 自定义iOS的Back按钮(backBarButtonItem)和pop交互手势(interactivepopgesturerecognizer)
- express配置session的几种场景
- 使用python实现简单的序列密码