BFS
立志进大厂的一个菜比
这个作者很懒,什么都没留下…
展开
-
leetcode 200 岛屿数量
给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。示例 1:输入:[[‘1’,‘1’,‘1’,‘1’,‘0’],[‘1’,‘1’,‘0’,‘1’,‘0’],[‘1’,‘1’,‘0’,‘0’,‘0’],[‘0’,‘0’,‘0’,‘0’,‘0’]]输出: 1示例 2:输入:[[‘1’,‘1’,‘0’,‘0’,‘0’],[‘1’,原创 2020-08-24 11:08:40 · 92 阅读 · 0 评论 -
leetcode 1091. 二进制矩阵中的最短路径
在一个 N × N 的方形网格中,每个单元格有两种状态:空(0)或者阻塞(1)。一条从左上角到右下角、长度为 k 的畅通路径,由满足下述条件的单元格 C_1, C_2, …, C_k 组成:相邻单元格 C_i 和 C_{i+1} 在八个方向之一上连通(此时,C_i 和 C_{i+1} 不同且共享边或角)C_1 位于 (0, 0)(即,值为 grid[0][0])C_k 位于 (N-1, N-1)(即,值为 grid[N-1][N-1])如果 C_i 位于 (r, c),则 grid[r][c] 为原创 2020-09-27 19:50:05 · 179 阅读 · 0 评论 -
leetcode 690 员工的重要性
给定一个保存员工信息的数据结构,它包含了员工唯一的id,重要度 和 直系下属的id。比如,员工1是员工2的领导,员工2是员工3的领导。他们相应的重要度为15, 10, 5。那么员工1的数据结构是[1, 15, [2]],员工2的数据结构是[2, 10, [3]],员工3的数据结构是[3, 5, []]。注意虽然员工3也是员工1的一个下属,但是由于并不是直系下属,因此没有体现在员工1的数据结构中。现在输入一个公司的所有员工信息,以及单个员工id,返回这个员工和他所有下属的重要度之和。示例 1:输入:原创 2020-09-25 22:55:26 · 80 阅读 · 0 评论 -
leetcode 1391 检查网络中是否存在有效路径
给你一个 m x n 的网格 grid。网格里的每个单元都代表一条街道。grid[i][j] 的街道可以是:1 表示连接左单元格和右单元格的街道。2 表示连接上单元格和下单元格的街道。3 表示连接左单元格和下单元格的街道。4 表示连接右单元格和下单元格的街道。5 表示连接左单元格和上单元格的街道。6 表示连接右单元格和上单元格的街道。输入:grid = [[1,1,2]]输出:false解释:你会停在 (0, 1),而且无法到达 (0, 2) 。输入:grid = [[1,1,1,1,1原创 2020-09-24 11:37:27 · 145 阅读 · 0 评论 -
leetcode 16.19 水域大小
你有一个用于表示一片土地的整数矩阵land,该矩阵中每个点的值代表对应地点的海拔高度。若值为0则表示水域。由垂直、水平或对角连接的水域为池塘。池塘的大小是指相连接的水域的个数。编写一个方法来计算矩阵中所有池塘的大小,返回值需要从小到大排序。示例:输入:[[0,2,1,0],[0,1,0,1],[1,1,0,1],[0,1,0,1]]输出: [1,2,4]提示:0 < len(land) <= 10000 < len(land[i]) <= 1000一般来说这原创 2020-09-24 10:19:55 · 1604 阅读 · 0 评论 -
leetcode 1306跳跃游戏 |||
这里有一个非负整数数组 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 -> 下标 1 -> 下标 3下标 5原创 2020-09-23 14:57:40 · 110 阅读 · 0 评论