在仅包含 0 和 1 的数组 A 中,一次 K 位翻转包括选择一个长度为 K 的(连续)子数组,同时将子数组中的每个 0 更改为 1,而每个 1 更改为 0。
返回所需的 K 位翻转的次数,以便数组没有值为 0 的元素。如果不可能,返回 -1。
Leetcode 994 Rotting Oranges
在给定的网格中,每个单元格可以有以下三个值之一:
0 代表空单元格;
1 代表新鲜橘子;
2 代表腐烂的橘子。
每过一分钟,任何与腐烂的橘子(在 4 个正方向上)相邻的新鲜橘子都会腐烂。
返回直到单元格中没有新鲜橘子为止所必须经过的最小分钟数。如果不可能,返回 -1。
Leetcode 993 Cousins in Binary Tree
在二叉树中,根节点位于深度 0 处,每个深度为 k 的节点的子节点位于深度 k+1 处。
如果二叉树的两个节点深度相同,但父节点不同,则它们是一对堂兄弟节点。
我们给出了具有唯一值的二叉树的根节点 root,以及树中两个不同节点的值 x 和 y。
只有与值 x 和 y 对应的节点是堂兄弟节点时,才返回 true。否则,返回 false。
Leetcode 1001 Grid IIIumination
给定一个NxN的网格,每个格子(x,y)都放着一盏灯。
初始时,有些灯是亮着的,lamps[i]
告诉我们第i个亮着的灯的位置。每盏灯会照亮和它处于同一水平线,同一垂直线,同一对角线(左右)上的所有灯。
对于第i个问询queries[i] = (x,y)
,我们需要回答此时(x,y)位置上是否被照亮,1代表是,0反之。
在每一次询问结束之后,会将询问处的灯自身以及周围的8个格子(包括对角)的所有灯熄灭。
返回一个数组answer,answer[i]对应第i个queries。
Leetcode 998 Maximum Binary Tree II
给定一个最大树的根节点:最大树是指每个节点的值都大于该节点子树中的任何一个值。
这个最大树是由一个列表A生成的,生成规则如下:
- 如果A为空,return
null
- 否则,找到A中最大的元素
A[i]
,生成值为A[i]的节点作为根节点 - 根节点的左孩子将由
A[:i]
生成 - 根节点的右孩子将由
A[i+1:]
生成 - 返回根节点
现在给定一个已经根据上述规则构造好的树的根节点root
,原始列表为A。
现在向A末尾添加一个元素val
,新数组定义为B,请你返回由数组B按照上述规则构造的树。
Leetcode 999 Available Captures for Rook
在一个8x8的棋盘上,某个位置存在一个白方的车。棋盘上还有很多空位置,白方的主教,黑方的小兵。这四种位置分别用'R','.','B','p'
代替。
车的移动方式是只能直线运动,可以朝上下左右四个方向移动(等价于中国象棋中的车)
问棋盘上的车能吃到多少个小兵(只走一步)。
Leetcode 997 Find the Town Judge
在一座小镇中,有N个人,编号为1到N。现在在这N个人中可能存在着一位法官。
如果法官确实存在的话,那么将会满足以下条件:
- 法官不相信任何一个人
- 除法官外的每个人都相信法官
- 只有一位法官会满足上述条件
现在给定一个trust
, trust[i] = [a,b]
表示编号为a的人相信编号为b的人。
如果法官确实存在,请返回这个法官的编号,若不存在,则返回-1.
Leetcode 992 Subarrays with K Different Integers
给定一个正整数数组A,现在定义A的一个子串是good
当且仅当这个子串内包含恰好k个不同的数!
例如,[1,2,3,1,2]
有3个不同的整数1,2,3
返回A中good
的子串的个数。
Leetcode 990 Satisfiablitity of Equality Equations
给定一系列字符串来表示两个变量之间的关系,每个字符串固定为4长度,并且是以下两种表现形式:
- “a==b”
- “a!=b”
这里的a,b只是示例。
返回true如果所有变量之间的关系都可以符合!