![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
队列
leetcode题型分类--队列
m0_38142029
这个作者很懒,什么都没留下…
展开
-
[设计] 284. 顶端迭代器(改造Iterator:辅助队列 → 预存next的返回值)
[设计] 284. 顶端迭代器(改造Iterator:辅助队列 → 预存next的返回值)284. 顶端迭代器题目分析思路1:辅助队列(空间 O(N))思路2:预存next()的返回值(空间 O(1)) 284. 顶端迭代器 题目链接:https://leetcode-cn.com/problems/peeking-iterator/solution/ 分类: 设计:基于Iterator的基本函数,设计一个peek函数(辅助队列(思路1) → 预存next返回值(思路2)) 题目分析 本题需要在I原创 2020-10-11 18:03:07 · 97 阅读 · 0 评论 -
[滑动窗口+双向队列的应用] 239. 滑动窗口最大值(暴力解法 → 单调队列法)
[滑动窗口+双向队列的应用] 239. 滑动窗口最大值(暴力解法 → 单调队列法)239. 滑动窗口最大值思路1:暴力解思路2:单调队列法(双向队列模拟单调队列) 239. 滑动窗口最大值 题目链接:https://leetcode-cn.com/problems/sliding-window-maximum/ 分类: 滑动窗口(两种设置左右边界初始值的方法、求滑动窗口内最大值:暴力解法 → 单调队列法) 单调队列(基于双向队列,队尾到队首非递减存放窗口内可能成为max的元素,队首 == 当前窗口max原创 2020-10-06 00:06:10 · 290 阅读 · 0 评论 -
[设计] 225. 用队列实现栈(两个队列法、一个队列法)
[设计] 225. 用队列实现栈(两个队列法、一个队列法)225. 用队列实现栈思路1:两个队列思路2:一个队列 225. 用队列实现栈 题目链接:https://leetcode-cn.com/problems/implement-stack-using-queues/ 分类: 设计:用队列模拟栈的四个操作(push,pop,top,empty) 队列:只能使用队列的基本操作模拟栈、方法有:两个队列法、一个队列法。 思路1:两个队列 队列的特点是先进先出,栈的特点是先进后出,要用队列来模拟栈,可原创 2020-09-30 17:52:15 · 88 阅读 · 0 评论 -
[图 拓扑排序 DFS BFS] 207. 课程表(有向图判断是否有环:DFS、BFS)210. 课程表 II (有向图找拓扑排序:BFS)
[图 拓扑排序 DFS BFS] 207. 课程表(有向图判断是否有环:DFS、BFS)207. 课程表题目分析:把问题转化为拓扑排序问题思路1:DFS + 标记数组 判断是否存在回路(并未用到拓扑排序思想)算法设计1、先将边缘列表转化为邻接表2、如何对有向图进行DFS遍历?(对图做DFS的框架,不涉及DFS内部实现)3、如何实现一趟深度优先遍历DFS + 有环判断?实现代码思路2:BFS + 入度数组(拓扑排序思想)算法设计1、边缘列表转换为邻接表(同思路1)2、对有向图的常规BFS要如何实现?3、如何用原创 2020-09-22 00:05:26 · 365 阅读 · 0 评论 -
[回溯法 leetcode]126. 127 单词接龙 II I (回溯法、DFS、BFS、优化)
[回溯法 leetcode]126. 单词接龙 II (回溯法、DFS、BFS、优化)126.单词接龙 II题目分析思路1:DFS回溯(初始解法,理解问题)关键问题:1、如何从字典里找到下一个可行的转换?2、回溯法的流程3、易忽略点:题目要求的是最短序列!实现代码思路2:DFS回溯 + BFS寻找最短序列长度关键问题:1、如何将问题转化为图问题?2、如何进行BFS?借助队列 + 如何在BFS过程中找到最短序列长度?知识点:set,map,String,char[]实现时遇到的问题:1、if(found) b原创 2020-10-28 18:28:28 · 278 阅读 · 0 评论 -
[树层次遍历的应用] 116. 117. 填充每个节点的下一个右侧节点指针 I II (队列层次遍历、迭代)
[树层次遍历的应用] 116. 117. 填充每个节点的下一个右侧节点指针 I II (队列层次遍历、迭代) 116.填充每个节点的下一个右侧节点指针(完美二叉树)思路1:队列层次遍历 + 找出每一层的最后一个节点思路2:迭代 + 遍历上一层链表117. 填充每个节点的下一个右侧节点指针 II (一般二叉树)分析(同116思路2)1、迭代的终止条件2、当前层的链表头结点head的选取3、节点next域的填充实现代码 116.填充每个节点的下一个右侧节点指针(完美二叉树) 题目链接:https://leetc原创 2020-11-09 13:11:04 · 167 阅读 · 0 评论