随笔分类 - leetcode
摘要:问题: 给定两棵二叉树。 原二叉树original 拷贝二叉树cloned 以及原二叉树上的节点target 求拷贝二叉树上同一个位置的节点。 Example 1: Input: tree = [7,4,3,null,null,6,19], target = 3 Output: 3 Explanat
阅读全文
posted @ 2021-03-21 11:43
habibah_chang
摘要:问题: 给定n个节点,和节点之间的连线关系connections。 若其中有多余的连线,可用于连接任意不相连的节点,使得所有节点相连。 求若可以,至少需要多少条连线。 不可以,返回-1。 Example 1: Input: n = 4, connections = [[0,1],[0,2],[1,2
阅读全文
posted @ 2021-03-21 11:41
habibah_chang
摘要:问题: 朋友看视频问题。 给定一个朋友关系网, friends[i]表示 i 的朋友们。 watchedVideos[i]表示 i 所看的视频。 level表示朋友层,1:代表i的朋友,2:代表i的朋友的朋友。 求给定人 i 的朋友层level,所看过的所有视频。(按照视频被看的人数从少到多排序)
阅读全文
posted @ 2021-03-21 11:40
habibah_chang
摘要:问题: 求给定二叉树中,x节点和y节点是否为表兄弟关系。 表兄弟关系为:在同一层&&父节点不同。 Example 1: Input: root = [1,2,3,4], x = 4, y = 3 Output: false Example 2: Input: root = [1,2,3,null,4
阅读全文
posted @ 2021-03-21 11:39
habibah_chang
摘要:问题: 跳棋问题。 给定跳棋一维数组arr arr[i]代表到达位置 i 后,能够向前or向后移动的步数 即,下一个位置为:i+arr[i] or i-arr[i] ⚠️ 注意:这里下个位置不能超出arr范围。 求从给定Start位置开始,是否能最终走到arr[x]==0的位置。 Example 1
阅读全文
posted @ 2021-03-21 11:38
habibah_chang
摘要:问题: 一个虫子在x坐标的0位置出发, 求最少跳多少次能跳到x位置。 跳动规则: 不能跳到forbidden所示的位置 每次可向前跳 a 个距离。 每次可向后跳 b 个距离。不能连续向后跳两次。 不能跳到<0的坐标位置。 Example 1: Input: forbidden = [14,4,18,
阅读全文
posted @ 2021-03-21 11:26
habibah_chang
摘要:问题: 给定n个节点,和节点之间的连线关系,构成有向图。 红线 red_edges:[a,b]: a->b 蓝线 blue_edges:[a,b]: a->b 求从节点0,到各个节点(红蓝线交替)的最短距离。 若对于某个节点不存在这样的通路,那么该节点的结果为-1。 Example 1: Input
阅读全文
posted @ 2021-03-18 11:49
habibah_chang
摘要:问题: 给定一棵树,root=0 每个节点id有值nums[id] 求每个节点的所有祖先中,最近&&与其值互质的父节点。 Example 1: Input: nums = [2,3,3,2], edges = [[0,1],[1,2],[1,3]] Output: [-1,0,0,1] Explan
阅读全文
posted @ 2021-03-17 15:42
habibah_chang
摘要:问题: 给定n*m二维数组grid,要求从左上角(0,0)->右下角(n-1,m-1) 移动规则:grid[i][j] 1:right -> grid[i][j + 1] 2:left -> grid[i][j - 1] 3:down -> grid[i + 1][j] 4:up -> grid[i
阅读全文
posted @ 2021-03-17 12:42
habibah_chang
摘要:问题: 跳棋游戏。 在一维数组arr中,从index=0开始, 下一步可以跳到:(在数组范围内) index+1 index-1 index_j : arr[index_j]=arr[index] 求最快跳到最后一格arr.size()-1的位置,需要多少步。 Example 1: Input: a
阅读全文
posted @ 2021-03-17 11:00
habibah_chang
摘要:问题: 给定n个box: status[i]: 1:box[i] 打开,0:box[i] 关闭 candies[i]: box[i]里装有的糖个数 keys[i]: 装有的其他box钥匙的index(数组) containedBoxes[i]: 装有的其他box的index(数组) 关闭的box,只
阅读全文
posted @ 2021-03-16 14:50
habibah_chang
摘要:问题: 给定n*m由0和1构成的二维数组。 0代表通路 1代表障碍 求从左上角格子(0,0)出发,要到达右下角格子(n-1,m-1) 可以最多遇到 k 个障碍,至少需要多少步能到达。 若不能做到,返回-1。 Example 1: Input: grid = [[0,0,0], [1,1,0], [0
阅读全文
posted @ 2021-03-16 12:41
habibah_chang
摘要:问题: 给定m*n由0和1构成的二维数组, 对其中某个元素进行反转flip:0->1 or 1->0 那么其相邻的元素也会相应发生反转。 求,最终使得二维数组全为0需要最少几步? 若不能做到,返回-1。 Example 1: Input: mat = [[0,0],[0,1]] Output: 3
阅读全文
posted @ 2021-03-16 10:59
habibah_chang
摘要:问题: 推箱子问题。 给定n*m二维数组: . -> 通路 T -> 箱子目标位置 B -> 箱子当前位置 S -> 人当前位置 # -> 障碍(墙)位置 人S去推箱子B,使得箱子到达目标位置T,箱子最少移动多少步? Example 1: Input: grid = [["#","#","#","#
阅读全文
posted @ 2021-03-15 17:07
habibah_chang
摘要:问题: 给定n*n二维数组,要从(0,0)->(n-1,n-1) 0:通路 1:障碍 求最少多少步能到达。 可以走当前格子的8个方向。 Example 1: Input: grid = [[0,1],[1,0]] Output: 2 Example 2: Input: grid = [[0,0,0]
阅读全文
posted @ 2021-03-15 14:45
habibah_chang
摘要:问题: 给定n*n二维数组, 0代表海水,1代表陆地, 求离陆地最远的海水cell,距离陆地多远。 Example 1: Input: grid = [[1,0,1],[0,0,0],[1,0,1]] Output: 2 Explanation: The cell (1, 1) is as far
阅读全文
posted @ 2021-03-14 13:44
habibah_chang
摘要:问题: 给定由0和1构成的n*n二维数组,表示迷宫。 0代表通路,1代表障碍。 长度为2的蛇, 初始状态在第一行的前两个格子(0,0)<蛇尾>(0,1)<蛇头> 最终要到达最后一行的最后两个格子(n-1,n-2)<蛇尾>(n-1,n-1)<蛇头> 求最少走多少步能到。 移动选项: 向右移动一格:蛇头
阅读全文
posted @ 2021-03-14 13:01
habibah_chang
摘要:问题: 给定二叉树, 求层元素和为最大的最小层数。 Example 1: Input: root = [1,7,0,7,-8,null,null] Output: 2 Explanation: Level 1 sum = 1. Level 2 sum = 7 + 0 = 7. Level 3 sum
阅读全文
posted @ 2021-03-14 09:51
habibah_chang
摘要:问题: 给定n*n二维数组, 1代表陆地,0代表海洋。 上下左右为相连,那么相连的 1 构成岛屿, 那么给定的数组共构成两个岛屿, 求填海,最少填多少个cell能够将两个岛屿相连。 Example 1: Input: A = [[0,1],[1,0]] Output: 1 Example 2: In
阅读全文
posted @ 2021-03-13 13:36
habibah_chang
摘要:问题: 给定坐标系:(0,0)~(10^6,10^6) 起点坐标:source(x,y) 目标坐标:target(x,y) 障碍物坐标list:block 求是否能从起点坐标,到目标坐标。 (遇到障碍物,无法继续前进) Example 1: Input: blocked = [[0,1],[1,0]
阅读全文
posted @ 2021-03-13 12:20
habibah_chang

浙公网安备 33010602011771号