
BFS
文章平均质量分 68
曾几何时`
希望今年一切顺利
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
多源BFS(二十一)1162. 地图分析 中等
请你找出一个海洋单元格,这个海洋单元格到离它最近的陆地单元格的距离是最大的,并返回该距离。如果网格上只有陆地或者海洋,请返回。海洋单元格 (1, 1) 和所有陆地单元格之间的距离都达到最大,最大距离为 2。海洋单元格 (2, 2) 和所有陆地单元格之间的距离都达到最大,最大距离为 4。,上面的每个 单元格 都用。这两个单元格之间的距离是。你现在手里有一份大小为。原创 2025-03-13 12:43:36 · 171 阅读 · 0 评论 -
多源BFS(二十)1765. 地图中的最高点 中等
将所有的水域坐标加入队列中,然后利用队列进行bfs操作扩散至周围所有陆地,并更新其高度。任意安排方案中,只要最高高度为 2 且符合上述规则的,都为可行方案。找到一种安排高度的方案,使得矩阵中的最高高度值。所有安排方案中,最高可行高度为 2。蓝色格子是水域格,绿色格子是陆地格。如果有多种解法,请返回。上图展示了给各个格子安排的高度。原创 2025-03-13 12:08:55 · 333 阅读 · 0 评论 -
多源BFS(十九)1020. 飞地的数量 中等
解法一使用的是俩轮for循环分别进入bfs操作,也可以使用解法二多源bfs思想,将所有边界上的结点统一先放入队列中,在进行后续操作。将边界位置上的所有陆1给它全部进行bfs操作置为0,然后进行一轮计数操作即可。有三个 1 被 0 包围。一个 1 没有被包围,因为它在边界上。在任意次数的移动中离开网格边界的陆地单元格的数量。是指从一个陆地单元格走到另一个相邻(所有 1 都在边界上或可以到达边界。表示一个海洋单元格、表示一个陆地单元格。)的陆地单元格或跨过。原创 2025-03-13 11:20:06 · 355 阅读 · 0 评论 -
多源 BFS_多源最短路(十八)542. 01 矩阵 中等 超级源点思想
很难从1出发去找每一个最近的0,这样就只能使用单源最短路径bfs求解,最终导致复杂度过高。所以可以将所有的0作为一个超级源点,把所有的起点加入队列,剩下的就都是1,然后利用这个队列进行bfs操作,每访问一个结点,就更新它的step步数值,并放入book标记数组里。,请输出一个大小相同的矩阵,其中每一个格子是。中对应位置元素到最近的。两个相邻元素间的距离为。原创 2025-03-13 10:37:34 · 398 阅读 · 0 评论 -
BFS最短路径(十七)675. 为高尔夫比赛砍树 困难
1、将给定的二维数组重新处理,使用一个Node结构体来进行存储,结构体内部有树高权值、以及树的横纵坐标。每一步,你都可以向上、下、左、右四个方向之一移动一个单位,如果你站的地方有一棵树,那么你可以决定是否要砍倒它。那么此题就转化为了俩俩坐标之间的迷宫问题,只需要求出每俩坐标之间最小的步数,最后把所有的步数加起来即可。你需要按照树的高度从低向高砍掉所有的树,每砍过一颗树,该单元格的值变为。可以保证的是,没有两棵树的高度是相同的,并且你至少需要砍倒一棵树。(0,0) 位置的树,可以直接砍去,不用算步数。原创 2025-03-12 20:30:04 · 1062 阅读 · 0 评论 -
BFS最短路径(十六)127. 单词接龙 困难
字符串n位,每位有26种变化情况,俩个for循环嵌套,一位一位的进行修改,对修改之后的字符串,判断是否之前访问过(访问过的扔book标记里面),没访问过并且在基因库中的放入队列,并判断是否为目标字符串。一个最短转换序列是 "hit" -> "hot" -> "dot" -> "dog" -> "cog", 返回它的长度 5。endWord "cog" 不在字典中,所以无法进行转换。如果不存在这样的转换序列,返回。是一个按下述规格形成的序列。原创 2025-03-12 19:18:17 · 255 阅读 · 0 评论 -
BFS最短路径(十五)433. 最小基因变化
字符串八位,每位有四种变化情况,俩个for循环嵌套,一位一位的进行修改,对修改之后的字符串,判断是否之前访问过(访问过的扔book标记里面),没访问过并且在基因库中的放入队列,并判断是否为目标字符串。记录了所有有效的基因变化,只有基因库中的基因才是有效的基因序列。(变化后的基因必须位于基因库。一次基因变化就意味着这个基因序列中的一个字符发生了变化。基因序列可以表示为一条由 8 个字符组成的字符串,其中每个字符都是。如果无法完成此基因变化,返回。默认是有效的,但是它并不一定会出现在基因库中。原创 2025-03-12 11:38:42 · 262 阅读 · 0 评论 -
BFS最短路径(十四) 1926. 迷宫中离入口最近的出口
1、在元素入队列的时候进行判断和处理,最开始的入口坐标不作判断,只有对后续进行移动后的坐标进行判断处理。2、每层将所有一步能访问到的节点尽可能全部放入队列中,到最后第一次访问到边界条件时,进行结果的返回。总共有 3 个出口,分别位于 (1,0),(0,2) 和 (2,3)。所以,最近的出口是 (0,2) ,距离为 1 步。所以,最近的出口为 (1,2) ,距离为 2 步。迷宫中只有 1 个出口,在 (1,2) 处。初始时,你在入口与格子 (1,0) 处。一开始,你在入口格子 (1,2) 处。原创 2025-03-12 10:44:00 · 234 阅读 · 0 评论 -
BFS(十三)463. 岛屿的周长
在bfs函数内每次从队列中取出一个元素时,访问这个坐标的上下左右四个方向,是不是边界或者水域,如果是就res++,因为我们每次放入队列的元素都是合理的位置元素,所以这里直接在出队列的时候进行判断操作。这种访问岛屿的问题还是要记得引入book标记数组来进行处理。岛屿中没有“湖”(“湖” 指水域在岛屿内部且不和岛屿周围的水相连)。计算这个岛屿的周长。整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一个或多个表示陆地的格子相连组成的岛屿)。它的周长是上面图片中的 16 个黄色的边。原创 2025-03-11 15:42:58 · 381 阅读 · 0 评论 -
BFS(十二)130. 被围绕的区域
跟之前的岛屿问题不同,如果直接从原来的方法入手,会导致bfs遇到边缘情况时无法回退,因为之前已经修改为X了,如果要继续这样做的话,需要进行俩遍bfs操作,第一步访问这片区域,保证这个区域都在被包围的范围之内。第二次在进行一遍bfs进行修改。正难则反:从四周的边缘位置出发,将所有处于边缘位置的O全部修改为另外一个字符 ' . ' ,最后在进行一次二维扫描,将不是 点 的“O”全部修改为“X”,将之前的 点 还原为 “O”。在上图中,底部的区域没有被捕获,因为它在 board 的边缘并且不能被围绕。原创 2025-03-11 14:53:44 · 421 阅读 · 0 评论 -
BFS(十一)695. 岛屿的最大面积
在每次进入bfs函数中加入一个count进行岛屿个数的计算,每次排查完一处岛屿,更新一下res_max变量。(代表土地) 构成的组合,这里的「相邻」要求两个。如果没有岛屿,则返回面积为。,因为岛屿只能包含水平或垂直这四个方向上的。岛屿的面积是岛上值为。原创 2025-03-10 23:02:29 · 281 阅读 · 0 评论 -
BFS(十)岛屿数量 中等
3、auto &[a, b] 与 auto [a, b] 加入& 后会导致在进行后续pop操作时对队列成员的修改。2、在bfs的时候,对一个新坐标进行界限访问后还要验证book数组与grid 看接下来是不是陆地,并且该陆地是否被访问过。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。1、使用表示数组book来记录当前位置是否被访问过。(水)组成的的二维网格,请你计算网格中岛屿的数量。此外,你可以假设该网格的四条边均被水包围。原创 2025-03-10 22:30:37 · 429 阅读 · 0 评论 -
BFS(九)733. 图像渲染
使用层序遍历bfs思想,每次访问一个位置时,再将符合条件的上下左右四个位置的坐标放入队列中,(即红色像素),在路径上所有符合条件的像素点的颜色都被更改成相同的新颜色(即蓝色像素)。初始像素已经用 0 着色,这与目标颜色相同。因此,不会对图像进行任何更改。更改为2,因为它不是在上下左右四个方向上与初始点相连的像素点。表示该图画的像素值大小。的二维整数数组表示的图画。最后返回经过上色渲染。在图像的正中间,坐标。原创 2025-03-10 20:45:08 · 248 阅读 · 0 评论 -
BFS(八)515. 在每个树行中找最大值 中等
最大值 INT_MAX 最小值 INT_MIN原创 2025-03-07 09:35:07 · 258 阅读 · 0 评论 -
BFS(七)662. 二叉树最大宽度 数组下标模拟存储二叉树
给你一棵二叉树的根节点root,返回树的。树的是所有层中最大的。每一层的被定义为该层最左和最右的非空节点(即,两个端点)之间的长度。将这个二叉树视作与满二叉树结构相同,两端点间会出现一些延伸到这一层的null节点,这些null节点也计入长度。题目数据保证答案将会在带符号整数范围内。4最大宽度出现在树的第 3 层,宽度为 4 (5,3,null,9)。7最大宽度出现在树的第 4 层,宽度为 7 (6,null,null,null,null,null,7)。2。原创 2025-03-06 23:03:32 · 383 阅读 · 0 评论 -
BFS(六)JZ13 机器人的运动范围
机器人的运动范围原创 2023-02-06 18:45:14 · 363 阅读 · 0 评论 -
DFS(五)最小轮盘锁
BFS搜索轮盘锁情况原创 2023-01-26 14:15:53 · 776 阅读 · 0 评论 -
BFS(四)127. 单词接龙、433. 最小基因变化
BFS解决单词接龙 最小基因变幻原创 2023-01-26 12:39:04 · 597 阅读 · 0 评论 -
BFS(三)腐烂的橘子(感染问题)
坏橘子原创 2023-01-25 22:21:09 · 1394 阅读 · 0 评论 -
BFS(二)二叉树层序遍历(I、II)、二叉树锯齿形层序遍历、N叉树层序遍历
引入BFS思想解决二叉树层序遍历问题原创 2023-01-25 20:33:09 · 571 阅读 · 0 评论 -
BFS(一)广度优先搜索(Breadth First Search) ------ 一石激起千层浪
BFS广度优先搜索原创 2023-01-25 19:42:50 · 268 阅读 · 0 评论