![](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 · 149 阅读 · 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 · 45 阅读 · 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 · 106 阅读 · 0 评论 -
[LeetCode 155]最小栈
[LeetCode 155]C++实现最小栈设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。push(x) —— 将元素 x 推入栈中。pop() —— 删除栈顶的元素。top() —— 获取栈顶元素。getMin() —— 检索栈中的最小元素。来源:力扣(LeetCode 155)链接:https://leetcode-cn.com/problems/min-stackclass MinStack {public: stack<int&原创 2020-11-06 20:27:11 · 49 阅读 · 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 · 39 阅读 · 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 · 61 阅读 · 0 评论