103. 二叉树的锯齿形层次遍历 锯齿形层次遍历,思路与二叉树的层次遍历相同,稍微做点改动,区别在于此处使用的是双端队列,分别从前到后和从后到前地遍历二叉树。代码如下 vector<vector<int>> zigzagLevelOrder(TreeNode* root) { deque<TreeN ...
分类:
其他好文 时间:
2020-10-06 19:57:09
阅读次数:
25
使用队列实现栈的下列操作:push(x)--元素x入栈pop()--移除栈顶元素top()--获取栈顶元素empty()--返回栈是否为空注意:你只能使用队列的基本操作--也就是pushtoback,peek/popfromfront,size,和isempty这些操作是合法的。你所使用的语言也许不支持队列。你可以使用list或者deque(双端队列)来模拟一个队列,只要是标准的队列操作即可。你可
分类:
其他好文 时间:
2020-09-17 20:32:25
阅读次数:
29
ForkJoin :: 分支合并 (JDK 1.7) 并行执行任务,提高效率。 使用场景:大数据量 将大任务拆成小任务 ForkJoin 特点:工作窃取 这个里面维护的都是双端队列,如果一方执行完了,获取另外一方的未完成的任务进行执行 ForkJoin 的操作 package pers.vincen ...
分类:
其他好文 时间:
2020-08-07 12:33:23
阅读次数:
64
双端队列广搜 1. 算法分析 双端队列广搜算法只适用于边权只有0和1的情况,本质上是对dijkstra堆优化版本的再次优化。由于dijkstra堆优化版本每次要把最小值从队头拿出,然后更新其他值后插入队列。而当边权只有0和1时,当处理的边权为0,那么更新完仍然为最小值,直接放入队头;为1则插入队尾。 ...
分类:
其他好文 时间:
2020-07-27 13:40:39
阅读次数:
68
此博客链接:https://www.cnblogs.com/ping2yingshi/p/13377164.html 题目链接:https://leetcode-cn.com/problems/implement-queue-using-stacks/ 用栈实现队列 使用栈实现队列的下列操作: pu ...
分类:
其他好文 时间:
2020-07-26 00:40:38
阅读次数:
52
题目信息 时间: 2019-07-05 题目链接:Leetcode tag: 队列 双端队列 难易程度:中等 题目描述: 请定义一个队列并实现函数 max_value 得到队列里的最大值,要求函数max_value、push_back 和 pop_front 的均摊时间复杂度都是O(1)。 若队列为 ...
分类:
其他好文 时间:
2020-07-09 13:52:57
阅读次数:
58
题目信息 时间: 2019-07-05 题目链接:Leetcode tag: 队列 双端队列 滑动窗口 难易程度:困难 题目描述: 给定一个数组 nums 和滑动窗口的大小 k,请找出所有滑动窗口里的最大值。 示例: 输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3 输 ...
分类:
其他好文 时间:
2020-07-09 13:45:56
阅读次数:
55
#一.栈 如图: ##①栈顶指针移动 ##②进栈代码: ##③出栈代码: ##④各种条件: ##⑤共享栈: #二.队列 如图: ##①入队出队操作示意图 ##②循环队列示意图 ##③队列各种条件 ##④出入队代码: ##⑤链式出入队 ##⑥双端队列 #三.压缩矩阵 ##①对称矩阵 ##②三角矩阵 # ...
分类:
其他好文 时间:
2020-07-04 17:19:40
阅读次数:
177
实现类:ArrayDeque和LinkedList 作用:Deque既可以做栈使用也可以做队列使用; 缺点:Deque违背了单一职责性原则 ArrayDeque: ArrayDeque是Deque接口的一种具体实现,是依赖于可变数组来实现的。ArrayDeque 没有容量限制,可根据需求自动进行扩容 ...
分类:
其他好文 时间:
2020-06-30 17:27:23
阅读次数:
61