![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
栈,队列,堆
LeetCode
Colin_Code
这个作者很懒,什么都没留下…
展开
-
[LeetCode 295]数据流的中位数(优先队列实现)
[LeetCode 295]C++实现数据流的中位数 中位数是有序列表中间的数。如果列表长度是偶数,中位数则是中间两个数的平均值。 例如, [2,3,4] 的中位数是 3 [2,3] 的中位数是 (2 + 3) / 2 = 2.5 设计一个支持以下两种操作的数据结构: void addNum(int num) - 从数据流中添加一个整数到数据结构中。 double findMedian() - 返回目前所有元素的中位数。 示例: addNum(1) addNum(2) findMedian() ->原创 2020-11-08 10:18:31 · 140 阅读 · 0 评论 -
[LeetCode 215]数组中的第K个最大元素
[LeetCode 215]C++实现求数组中的第K个最大元素 在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 示例 1: 输入: [3,2,1,5,6,4] 和 k = 2 输出: 5 示例 2: 输入: [3,2,3,1,2,4,5,5,6] 和 k = 4 输出: 4 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/kth-largest-element-in-an-a原创 2020-11-07 21:19:27 · 38 阅读 · 0 评论 -
[LeetCode 946]验证栈序列
[LeetCode 946] C++实现验证栈序列 给定 pushed 和 popped 两个序列,每个序列中的 值都不重复,只有当它们可能是在最初空栈上进行的推入 push 和弹出 pop 操作序列的结果时,返回 true;否则,返回 false 。 示例 1: 输入:pushed = [1,2,3,4,5], popped = [4,5,3,2,1] 输出:true 解释:我们可以按以下顺序执行: push(1), push(2), push(3), push(4), pop() -> 4, pu原创 2020-11-07 15:36:52 · 104 阅读 · 0 评论 -
[LeetCode 155]最小栈
[LeetCode 155]C++实现最小栈 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 push(x) —— 将元素 x 推入栈中。 pop() —— 删除栈顶的元素。 top() —— 获取栈顶元素。 getMin() —— 检索栈中的最小元素。 来源:力扣(LeetCode 155) 链接:https://leetcode-cn.com/problems/min-stack class MinStack { public: stack<int&原创 2020-11-06 20:27:11 · 45 阅读 · 0 评论 -
[LeetCode 225]用队列实现栈
[LeetCode 225]C++实现用队列实现栈 使用队列实现栈的下列操作: push(x) – 元素 x 入栈 pop() – 移除栈顶元素 top() – 获取栈顶元素 empty() – 返回栈是否为空 注意: 你只能使用队列的基本操作-- 也就是 push to back, peek/pop from front, size, 和 is empty 这些操作是合法的。 你所使用的语言也许不支持队列。 你可以使用 list 或者 deque(双端队列)来模拟一个队列 , 只要是标准的队列操作即可。原创 2020-11-06 20:13:57 · 37 阅读 · 0 评论 -
[LeetCode 232]用栈实现队列
[LeetCode 232]C++实现用栈实现队列 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列的支持的所有操作(push、pop、peek、empty): 实现 MyQueue 类: void push(int x) 将元素 x 推到队列的末尾 int pop() 从队列的开头移除并返回元素 int peek() 返回队列开头的元素 boolean empty() 如果队列为空,返回 true ;否则,返回 false 说明: 你只能使用标准的栈操作 —— 也就是只有 push to top,原创 2020-11-06 19:37:30 · 57 阅读 · 0 评论