
队列
hestyle
戎码一生!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
LeetCode 密钥格式化
给定一个密钥字符串S,只包含字母,数字以及 ‘-’(破折号)。N 个 ‘-’ 将字符串分成了 N+1 组。给定一个数字 K,重新格式化字符串,除了第一个分组以外,每个分组要包含 K 个字符,第一个分组至少要包含 1 个字符。两个分组之间用 ‘-’(破折号)隔开,并且将所有的小写字母转换为大写字母。给定非空字符串 S 和数字 K,按照上面描述的规则进行格式化。示例 1:输入:S = "5F3Z...原创 2019-04-04 15:52:20 · 458 阅读 · 0 评论 -
LeetCode 数据流中的第K大元素(优先队列)
设计一个找到数据流中第K大元素的类(class)。注意是排序后的第K大元素,不是第K个不同的元素。你的 KthLargest 类需要一个同时接收整数 k 和整数数组nums 的构造器,它包含数据流中的初始元素。每次调用 KthLargest.add,返回当前数据流中第K大的元素。示例:int k = 3;int[] arr = [4,5,8,2];KthLargest kthLarges...原创 2019-04-26 11:04:53 · 803 阅读 · 0 评论 -
LeetCode 设计循环双端队列
设计实现双端队列。你的实现需要支持以下操作:MyCircularDeque(k):构造函数,双端队列的大小为k。insertFront():将一个元素添加到双端队列头部。 如果操作成功返回 true。insertLast():将一个元素添加到双端队列尾部。如果操作成功返回 true。deleteFront():从双端队列头部删除一个元素。 如果操作成功返回 true。deleteLas...原创 2019-04-17 12:42:12 · 374 阅读 · 0 评论 -
LeetCode 二叉树的平均值(递归、层序遍历)
给定一个非空二叉树, 返回一个由每层节点平均值组成的数组.示例 1:输入: 3 / \ 9 20 / \ 15 7输出: [3, 14.5, 11]解释:第0层的平均值是 3, 第1层是 14.5, 第2层是 11. 因此返回 [3, 14.5, 11].注意:节点值的范围在32位有符号整数范围内。思路分析: 我们可以采用先序遍历,得到每...原创 2019-04-16 17:37:01 · 860 阅读 · 0 评论 -
LeetCode 在二叉树中增加一行(递归、辅助队列)
给定一个二叉树,根节点为第1层,深度为 1。在其第 d 层追加一行值为 v 的节点。添加规则:给定一个深度值 d (正整数),针对深度为 d-1 层的每一非空节点 N,为 N 创建两个值为 v 的左子树和右子树。将 N 原先的左子树,连接为新节点 v 的左子树;将 N 原先的右子树,连接为新节点 v 的右子树。如果 d 的值为 1,深度 d - 1 不存在,则创建一个新的根节点 v,原先的整...原创 2019-04-16 09:21:51 · 343 阅读 · 0 评论 -
LeetCode 设计循环队列
设计你的循环队列实现。 循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器”。循环队列的一个好处是我们可以利用这个队列之前用过的空间。在一个普通队列里,一旦一个队列满了,我们就不能插入下一个元素,即使在队列前面仍有空间。但是使用循环队列,我们能使用这些空间去存储新的值。你的实现应该支持如下操作:MyCircula...原创 2019-04-16 08:52:58 · 950 阅读 · 0 评论 -
LeetCode 每个树行中找最大值(层次遍历、后序遍历)
您需要在二叉树的每一行中找到最大的值。示例:输入: 1 / \ 3 2 / \ \ 5 3 9 输出: [1, 3, 9]思路分析: 请先翻阅 LeetCode 二叉树的层次遍历采用层次遍历,从上至下,按层进行访问,每次寻找当前层的最大值。/** * Definition for ...原创 2019-04-07 08:50:58 · 841 阅读 · 0 评论 -
LeetCode 找树左下角的值
给定一个二叉树,在树的最后一行找到最左边的值。示例 1:输入: 2 / \ 1 3输出:1示例 2:输入: 1 / \ 2 3 / / \ 4 5 6 / 7输出:7注意: 您可以假设树(即给定的根节点)不为 NULL。思路分析: 请先翻阅 Leet...原创 2019-04-06 15:57:06 · 378 阅读 · 0 评论 -
LeetCode 下一个更大元素II(双端队列)
给定一个循环数组(最后一个元素的下一个元素是数组的第一个元素),输出每个元素的下一个更大元素。数字 x 的下一个更大的元素是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。如果不存在,则输出 -1。示例 1:输入: [1,2,1]输出: [2,-1,2]解释: 第一个 1 的下一个更大的数是 2;数字 2 找不到下一个更大的数; 第二个 1...原创 2019-04-06 10:30:38 · 292 阅读 · 0 评论 -
LeetCode 分隔链表
给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前。你应当保留两个分区中每个节点的初始相对位置。示例:输入: head = 1->4->3->2->5->2, x = 3输出: 1->2->2->4->3->5思路分析:本题主要就是一句节点的val的大小进行分类,小于x的放一边...原创 2019-02-16 19:07:31 · 255 阅读 · 0 评论 -
LeetCode 简化路径
以 Unix 风格给出一个文件的绝对路径,你需要简化它。或者换句话说,将其转换为规范路径。在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (…) 表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。更多信息请参阅:Linux / Unix中的绝对路径 vs 相对路径请注意,返回的规范路径必须始终以斜杠 / 开头,并且两个目录名之间必须只有一个斜...原创 2019-02-14 16:57:09 · 1108 阅读 · 0 评论 -
LeetCode Dota参议院(辅助队列)
Dota2 的世界里有两个阵营:Radiant(天辉)和 Dire(夜魇)Dota2 参议院由来自两派的参议员组成。现在参议院希望对一个 Dota2 游戏里的改变作出决定。他们以一个基于轮为过程的投票进行。在每一轮中,每一位参议员都可以行使两项权利中的一项:禁止一名参议员的权利:参议员可以让另一位参议员在这一轮和随后的几轮中丧失所有的权利。宣布胜利:如果参议员发现有权利投票的参议员都是...原创 2019-04-17 17:19:52 · 412 阅读 · 0 评论