自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 【leetcode】图---中等(1)1361. 验证二叉树_并查集(2)1387. 将整数按权重排序_dfs(3)1462. 课程安排 IV_拓扑排序_floyed

1361、二叉树上有 n 个节点,按从 0 到 n - 1 编号,其中节点 i 的两个子节点分别是 leftChild[i] 和 rightChild[i]。只有 所有 节点能够形成且 只 形成 一颗 有效的二叉树时,返回 true;否则返回 false。如果节点 i 没有左子节点,那么 leftChild[i] 就等于 -1。右子节点也符合该规则。注意:节点没有值,本问题中仅仅使用节点编号。示例 1:输入:n = 4, leftChild = [1,-1,3,-1], righ.

2020-07-31 10:52:18 214

原创 【leetcode】图---中等(1)1267. 统计参与通信的服务器_矩阵图_两次遍历(2)1306. 跳跃游戏 III_一维数组_dfs(3)*1334. 阈值距离内邻居最少的城市_多源最短路径

1267、这里有一幅服务器分布图,服务器的位置标识在 m * n 的整数矩阵网格 grid 中,1 表示单元格上有服务器,0 表示没有。如果两台服务器位于同一行或者同一列,我们就认为它们之间可以进行通信。请你统计并返回能够与至少一台其他服务器进行通信的服务器的数量。示例 3:输入:grid = [[1,1,0,0],[0,0,1,0],[0,0,1,0],[0,0,0,1]]输出:4解释:第一行的两台服务器互相通信,第三列的两台服务器互相通信,但右下角的服务器无法与其他服务器通信。.

2020-07-30 16:06:23 321

原创 【leetcode】图---中等(1)**1129. 颜色交替的最短路径_BFS_DFS_形参改值(2)1161. 最大层内元素和_dfs_树高(3)1162. 地图分析_并查集思想

1129、在一个有向图中,节点分别标记为 0, 1, ..., n-1。这个图中的每条边不是红色就是蓝色,且存在自环或平行边。red_edges 中的每一个 [i, j] 对表示从节点 i 到节点 j 的红色有向边。类似地,blue_edges 中的每一个 [i, j] 对表示从节点 i 到节点 j 的蓝色有向边。返回长度为 n 的数组 answer,其中 answer[X] 是从节点 0 到节点 X 的最短路径的长度,且路径上红色边和蓝色边交替出现。如果不存在这样的路径,那么 answer[x].

2020-07-28 16:18:49 190

原创 【leetcode】图---中等(1)841. 钥匙和房间_BFS有向图(2)**959. 由斜杠划分区域_建模_并查集(3)990. 等式方程的可满足性_建模_并查集

841、有 N 个房间,开始时你位于 0 号房间。每个房间有不同的号码:0,1,2,...,N-1,并且房间里可能有一些钥匙能使你进入下一个房间。在形式上,对于每个房间 i 都有一个钥匙列表 rooms[i],每个钥匙 rooms[i][j] 由 [0,1,...,N-1] 中的一个整数表示,其中 N = rooms.length。 钥匙 rooms[i][j] = v 可以打开编号为 v 的房间。最初,除 0 号房间外的其余所有房间都被锁住。你可以自由地在房间之间来回走动。如果能进入每个.

2020-07-27 14:49:56 243

原创 【leetcode】图---中等(1)743. 网络延迟时间_BFS(2)785. 判断二分图_BFS(3)*802. 找到最终的安全状态_逆向拓扑

743、有 N 个网络节点,标记为 1 到 N。给定一个列表 times,表示信号经过有向边的传递时间。 times[i] = (u, v, w),其中 u 是源节点,v 是目标节点, w 是一个信号从源节点传递到目标节点的时间。现在,我们从某个节点 K 发出一个信号。需要多久才能使所有节点都收到信号?如果不能使所有节点收到信号,返回 -1。示例:输入:times = [[2,1,1],[2,3,1],[3,4,1]], N = 4, K = 2输出:2注意: N 的范...

2020-07-27 09:11:54 212

原创 【leetcode】图---中等(1)332. 重新安排行程_欧拉通路_dfs(2)399. 除法求值_dfs,pre,有环图(3)684. 冗余连接_DEADLYSIGNAL_并查集

332、给定一个机票的字符串二维数组 [from, to],子数组中的两个成员分别表示飞机出发和降落的机场地点,对该行程进行重新规划排序。所有这些机票都属于一个从JFK(肯尼迪国际机场)出发的先生,所以该行程必须从 JFK 出发。说明: 如果存在多种有效的行程,你可以按字符自然排序返回最小的行程组合。例如,行程 ["JFK", "LGA"] 与 ["JFK", "LGB"] 相比就更小,排序更靠前 所有的机场都用三个大写字母表示(机场代码)。 假定所有机票至少存在一种合理的行...

2020-07-24 14:25:41 191

原创 【leetcode】图---中等(1)133. 克隆图_dfs/map(2)207. 课程表_queue拓扑排序(3)210. 课程表 II_拓扑排序+返回拓扑序列(4)*310. 最小高度树_拓扑

133、给你无向 连通 图中一个节点的引用,请你返回该图的 深拷贝(克隆)。图中的每个节点都包含它的值 val(int) 和其邻居的列表(list[Node])。class Node { public int val; public List<Node> neighbors;}测试用例格式:简单起见,每个节点的值都和它的索引相同。例如,第一个节点值为 1(val = 1),第二个节点值为 2(val = 2),以此类推。该图在测试用例中使用邻接列表表示。邻...

2020-07-23 10:11:46 151

原创 【leetcode】图---简单(1)997. 找到小镇的法官_出入度(2)1042. 不邻接植花_dfs涂色&判连通分支

997、在一个小镇里,按从 1 到 N 标记了 N 个人。传言称,这些人中有一个是小镇上的秘密法官。如果小镇的法官真的存在,那么: 小镇的法官不相信任何人。 每个人(除了小镇法官外)都信任小镇的法官。 只有一个人同时满足属性 1 和属性 2 。给定数组 trust,该数组由信任对 trust[i] = [a, b] 组成,表示标记为 a 的人信任标记为 b 的人。如果小镇存在秘密法官并且可以确定他的身份,请返回该法官的标记。否则,返回 -1。示例 1:输入:...

2020-07-22 10:10:03 146

原创 【leetcode】周赛197---(1)1512. 好数对的数目(2)1513. 仅含 1 的子串数(3)1514. 概率最大的路径(4)1515. 服务中心的最佳位置

1512、给你一个整数数组 nums 。如果一组数字 (i,j) 满足 nums[i] == nums[j] 且 i < j ,就可以认为这是一组 好数对 。返回好数对的数目。示例 1:输入:nums = [1,2,3,1,1,3]输出:4解释:有 4 组好数对,分别是 (0,3), (0,4), (3,4), (2,5) ,下标从 0 开始map映射每个key对应的个数,用n(n-1)/2得出每个key可能的排列数。class Solution {public:..

2020-07-21 08:46:20 307

原创 【leetcode】周赛196---(1)1502. 能否等差 (2) 1503. 所有蚂蚁掉下来(3)1504. 统计全 1 子矩形dp (4)1505. 最多 K 次交换相邻数--」树状数组!!

1520、给你一个数字数组 arr 。如果一个数列中,任意相邻两项的差总等于同一个常数,那么这个数列就称为 等差数列 。如果可以重新排列数组形成等差数列,请返回 true ;否则,返回 false 。示例 1:输入:arr = [3,5,1]输出:true解释:对数组重新排序得到 [1,3,5] 或者 [5,3,1] ,任意相邻两项的差分别为 2 或 -2 ,可以形成等差数列。class Solution {public: bool canMakeArithmetic.

2020-07-12 21:24:43 300

原创 【leetcode】周赛195--(1)1496. 判断路径是否相交 (2)1497. 检查数组对是否可以被 k 整除 (3)1498. 满足条件的子序列数目 (4)1499. 满足不等式的最大值pq

1496、给你一个字符串 path,其中 path[i] 的值可以是 'N'、'S'、'E' 或者 'W',分别表示向北、向南、向东、向西移动一个单位。机器人从二维平面上的原点 (0, 0) 处开始出发,按 path 所指示的路径行走。如果路径在任何位置上出现相交的情况,也就是走到之前已经走过的位置,请返回 True ;否则,返回 False 。示例 1:输入:path = "NES"输出:false 解释:该路径没有在任何位置相交。原本想直接用unordered_set..

2020-07-10 21:30:29 328

原创 【leetcode】周赛194---(1)1486. 数组异或操作 (2)1487. 保证文件名唯一 (3)1488. 避免洪水泛滥 (4)1489. 找到最小生成树里的关键边和伪关键边MST

1486、给你两个整数,n 和 start 。数组 nums 定义为:nums[i] = start + 2*i(下标从 0 开始)且 n == nums.length 。请返回 nums 中所有元素按位异或(XOR)后得到的结果。示例 1:输入:n = 5, start = 0输出:8解释:数组 nums 为 [0, 2, 4, 6, 8],其中 (0 ^ 2 ^ 4 ^ 6 ^ 8) = 8 。 "^" 为按位异或 XOR 运算符。class Solution...

2020-07-09 20:53:39 319

原创 【leetcode】周赛193---(1)1480.一维数组的动态和 (2)1481. 不同整数的最少数目 (3)1482.制作 m 束花所需的最少天数 (4)1483. 树节点的第 K 个祖先LCA

1480、给你一个数组 nums 。数组「动态和」的计算公式为:runningSum[i] = sum(nums[0]…nums[i]) 。请返回 nums 的动态和。示例 1:输入:nums = [1,2,3,4]输出:[1,3,6,10]解释:动态和计算过程为 [1, 1+2, 1+2+3, 1+2+3+4] 。class Solution {public: vector<int> runningSum(vector<int>& num.

2020-07-08 20:20:09 205

原创 【leetcode】周赛192---(1)1470. 重新排列数组 (2)1471. 数组中的 k 个最强值 (3)1472. 设计浏览器历史记录 (4)1473、给房子涂色 III3维dp

1470、给你一个数组 nums ,数组中有 2n 个元素,按 [x1,x2,...,xn,y1,y2,...,yn] 的格式排列。请你将数组按 [x1,y1,x2,y2,...,xn,yn] 格式重新排列,返回重排后的数组。示例1:输入:nums = [2,5,1,3,4,7], n = 3输出:[2,3,5,4,1,7]解释:由于 x1=2, x2=5, x3=1, y1=3, y2=4, y3=7 ,所以答案为 [2,3,5,4,1,7]class Solution {p..

2020-07-07 15:28:07 257

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除