![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode图
PigyChan
谢谢你看我的博客
展开
-
PigyChan_LeetCode 210. 课程表 II
210. 课程表 II难度中等现在你总共有 n 门课需要选,记为 0 到 n-1。在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们: [0,1]给定课程总量以及它们的先决条件,返回你为了学完所有课程所安排的学习顺序。可能会有多个正确的顺序,你只要返回一种就可以了。如果不可能完成所有课程,返回一个空数组。示例 1:输入: 2, [[1,0]]输出: [0,1]解释: 总共有 2 门课程。要学习课程 1,你需要先完成课程 0。因此,原创 2020-10-30 09:41:52 · 157 阅读 · 0 评论 -
PigyChan_LeetCode 207. 课程表
207. 课程表难度中等你这个学期必须选修 numCourse 门课程,记为 0 到 numCourse-1 。在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们:[0,1]给定课程总量以及它们的先决条件,请你判断是否可能完成所有课程的学习?示例 1:输入: 2, [[1,0]]输出: true解释: 总共有 2 门课程。学习课程 1 之前,你需要完成课程 0。所以这是可能的。示例 2:输入: 2, [[1,0],[0,1]]原创 2020-10-30 09:41:45 · 134 阅读 · 0 评论 -
PigyChan_LeetCode 863. 二叉树中所有距离为 K 的结点
863. 二叉树中所有距离为 K 的结点难度中等给定一个二叉树(具有根结点 root), 一个目标结点 target ,和一个整数值 K 。返回到目标结点 target 距离为 K 的所有结点的值的列表。 答案可以以任何顺序返回。示例 1:输入:root = [3,5,1,6,2,0,8,null,null,7,4], target = 5, K = 2输出:[7,4,1]解释:所求结点为与目标结点(值为 5)距离为 2 的结点,值分别为 7,4,以及 1注意,输入的 “root” 和原创 2020-10-30 09:41:38 · 138 阅读 · 0 评论 -
PigyChan_LeetCode 130. 被围绕的区域
130. 被围绕的区域难度中等给定一个二维的矩阵,包含 ‘X’ 和 ‘O’(字母 O)。找到所有被 ‘X’ 围绕的区域,并将这些区域里所有的 ‘c’ 用 ‘X’ 填充。示例:X X X XX O O XX X O XX O X X运行你的函数后,矩阵变为:X X X XX X X XX X X XX O X X解释:被围绕的区间不会存在于边界上,换句话说,任何边界上的 ‘O’ 都不会被填充为 ‘X’。 任何不在边界上,或不与边界上的 ‘O’ 相连的 ‘O’ 最终都会被填充为 ‘原创 2020-10-30 09:41:30 · 108 阅读 · 0 评论 -
PigyChan_LeetCode 剑指 Offer 32 - III. 从上到下打印二叉树 III
剑指 Offer 32 - III. 从上到下打印二叉树 III难度中等请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右到左的顺序打印,第三行再按照从左到右的顺序打印,其他行以此类推。提示:1. 节点总数 <= 1000思路1.0:做过的:直接来!代码1.0:class Solution {public: vector<vector<int>> levelOrder(TreeNode* root) {原创 2020-10-30 09:41:22 · 70 阅读 · 0 评论 -
PigyChan_LeetCode 102. 二叉树的层序遍历
102. 二叉树的层序遍历难度中等给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。思路1.0:层次遍历,直接来!代码1.0:class Solution {public: vector<vector<int>> levelOrder(TreeNode* root) { if (root == NULL) return vector<vector<int>>原创 2020-10-30 09:41:15 · 54 阅读 · 0 评论 -
PigyChan_LeetCode 934. 最短的桥
934. 最短的桥难度中等在给定的二维二进制数组 A 中,存在两座岛。(岛是由四面相连的 1 形成的一个最大组。)现在,我们可以将 0 变为 1,以使两座岛连接起来,变成一座岛。返回必须翻转的 0 的最小数目。(可以保证答案至少是 1。)示例 1:输入:[[0,1],[1,0]]输出:1示例 2:输入:[[0,1,0],[0,0,0],[0,0,1]]输出:2示例 3:输入:[[1,1,1,1,1],[1,0,0,0,1],[1,0,1,0,1],[1,0,0,0,1],[1,1,1原创 2020-10-30 09:41:07 · 74 阅读 · 0 评论 -
PigyChan_LeetCode 1162. 地图分析
1162. 地图分析难度中等你现在手里有一份大小为 N x N 的 网格 grid,上面的每个 单元格 都用 0 和 1 标记好了。其中 0 代表海洋,1 代表陆地,请你找出一个海洋单元格,这个海洋单元格到离它最近的陆地单元格的距离是最大的。我们这里说的距离是「曼哈顿距离」( Manhattan Distance):(x0, y0) 和 (x1, y1) 这两个单元格之间的距离是 |x0 - x1| + |y0 - y1| 。如果网格上只有陆地或者海洋,请返回 -1。示例 1:输入:[[1,0原创 2020-10-31 16:41:00 · 47 阅读 · 0 评论 -
PigyChan_LeetCode 967. 连续差相同的数字
967. 连续差相同的数字难度中等返回所有长度为 N 且满足其每两个连续位上的数字之间的差的绝对值为 K 的非负整数。请注意,除了数字 0 本身之外,答案中的每个数字都不能有前导零。例如,01 因为有一个前导零,所以是无效的;但 0 是有效的。你可以按任何顺序返回答案。示例 1:输入:N = 3, K = 7输出:[181,292,707,818,929]解释:注意,070 不是一个有效的数字,因为它有前导零。示例 2:输入:N = 2, K = 1输出:[10,12,21,23,32原创 2020-10-29 22:24:41 · 248 阅读 · 0 评论 -
PigyChan_LeetCode 1306. 跳跃游戏 III
1306. 跳跃游戏 III难度中等这里有一个非负整数数组 arr,你最开始位于该数组的起始下标 start 处。当你位于下标 i 处时,你可以跳到 i + arr[i] 或者 i - arr[i]。请你判断自己是否能够跳到对应元素值为 0 的 任一 下标处。注意,不管是什么情况下,你都无法跳到数组之外。示例 1:输入:arr = [4,2,3,0,3,1,2], start = 5输出:true解释:到达值为 0 的下标 3 有以下可能方案:下标 5 -> 下标 4 ->原创 2020-10-29 22:24:35 · 124 阅读 · 0 评论 -
PigyChan_LeetCode 743. 网络延迟时间
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注意:1.原创 2020-10-29 22:24:28 · 143 阅读 · 0 评论 -
PigyChan_LeetCode 1129. 颜色交替的最短路径
1129. 颜色交替的最短路径难度中等在一个有向图中,节点分别标记为 0, 1, …, n-1。这个图中的每条边不是红色就是蓝色,且存在自环或平行边。red_edges 中的每一个 [i, j] 对表示从节点 i 到节点 j 的红色有向边。类似地,blue_edges 中的每一个 [i, j] 对表示从节点 i 到节点 j 的蓝色有向边。返回长度为 n 的数组 answer,其中 answer[X] 是从节点 0 到节点 X 的红色边和蓝色边交替出现的最短路径的长度。如果不存在这样的路径,那么 an原创 2020-10-29 22:06:25 · 127 阅读 · 0 评论 -
PigyChan_LeetCode 417. 太平洋大西洋水流问题
417. 太平洋大西洋水流问题难度中等给定一个 m x n 的非负整数矩阵来表示一片大陆上各个单元格的高度。“太平洋”处于大陆的左边界和上边界,而“大西洋”处于大陆的右边界和下边界。规定水流只能按照上、下、左、右四个方向流动,且只能从高到低或者在同等高度上流动。请找出那些水流既可以流动到“太平洋”,又能流动到“大西洋”的陆地单元的坐标。提示:1. 输出坐标的顺序不重要2. m 和 n 都小于150示例:返回:[[0, 4], [1, 3], [1, 4], [2, 2], [3, 0]原创 2020-10-29 22:06:13 · 116 阅读 · 0 评论