155. Min Stack LeetCode
2016-02-13 16:07
429 查看
题意:维护一个堆,实现top,pop,push,min(当前堆中最小元素)。
题解:用两个堆来维护,一个是正常的堆,一个用来维护当前最小值。
题解:用两个堆来维护,一个是正常的堆,一个用来维护当前最小值。
class MinStack { public: stack<int> sta,mi; void push(int x) { sta.push(x); if(mi.empty() || mi.top() > x) mi.push(x); else mi.push(mi.top()); } void pop() { sta.pop(); mi.pop(); } int top() { return sta.top(); } int getMin() { return mi.top(); } };
相关文章推荐
- leetcode 179 Largest Number
- leetcode 24 Swap Nodes in Pairs
- leetcode 2 Add Two Numbers 方法1
- leetcode 2 Add Two Numbers 方法2
- leetcode----Longest Substring Without Repeating Characters
- [LeetCode]47 Permutations II
- [LeetCode]65 Valid Number
- [LeetCode]123 Best Time to Buy and Sell Stock III
- [LeetCode] String Reorder Distance Apart
- [LeetCode] Sliding Window Maximum
- [LeetCode] Find the k-th Smallest Element in the Union of Two Sorted Arrays
- [LeetCode] Determine If Two Rectangles Overlap
- [LeetCode] A Distance Maximizing Problem
- leetcode_linearList
- leetcode_linearList02
- 021-Merge Two Sorted Lists(合并两个排好序的单链表);leetcode
- LeetCode[Day 1] Two Sum 题解
- LeetCode[Day 2] Median of Two Sorted Arrays 题解
- LeetCode[Day 3] Longest Substring Without... 题解
- LeetCode [Day 4] Add Two Numbers 题解