业界动态
Leetcode刷题笔记——广度优先搜索(BFS)
2025-01-02 18:59

第一题:二叉树的最大深度

Leetcode104. 二叉树的最大深度:简单题

Leetcode刷题笔记——广度优先搜索(BFS)

给定一个二叉树 ,返回其最大深度。
二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数

 

第二题:相同的树

Leetcode100. 相同的树:简单题

给你两棵二叉树的根节点 和 ,编写一个函数来检验这两棵树是否相同

 

第三题:二叉树的层序遍历

Leetcode102. 二叉树的层序遍历:中等题

给你二叉树的根节点 ,返回其节点值的层序遍历 。 (即逐层地,从左到右访问所有节点

 

第四题:二叉树的层序遍历 II

Leetcode107. 二叉树的层序遍历 II:中等题

给你二叉树的根节点 ,返回其节点值 自底向上的层序遍历 。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历

 

第五题:二叉树的锯齿形层序遍历

Leetcode103. 二叉树的锯齿形层序遍历:中等题

给你二叉树的根节点 ,返回其节点值的 锯齿形层序遍历 。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。

 

第六题:二叉树的右视图

Leetcode199. 二叉树的右视图:中等题

给定一个二叉树的 根节点 ,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值

 

第七题:路径总和

Leetcode112:路径总和:简单题

给你二叉树的根节点 和一个表示目标和的整数 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 。如果存在,返回 ;否则,返回

使用队列保存遍历到每个节点时的路径和,如果该节点恰好时叶子节点,并且路径和正好等于说明找到了解

 

第八题:最大层内元素和

Leetcode1161. 最大层内元素和:中等题

给你一个二叉树的根节点 。设根节点位于二叉树的第 层,而根节点的子节点位于第 层,依此类推

 
 

2.1 多源BFS问题

第一题:地图分析

Leetcode1162. 地图分析:中等题

你现在手里有一份大小为 的 网格 ,上面的每个 单元格 都用 和 标记好了。其中 代表海洋, 代表陆地

解题思路
相信大家对树的 已经驾轻就熟,先把 节点入队,然后再一层一层的无脑遍历就行了
对于图的 也是一样的,区别在于

  1. 只有一个 ,而图可以有多个源点,所以首先需要把多个源点都入队
  2. 是有向的因此不需要标志是否访问过,而对于无向图来说,必须得标记是否访问过,并且为了防止某个节点多次入队,需要在入队之前就将其设置成已访问

 
第二题:01 矩阵

Leetcode542.01 矩阵:中等题

给定一个由 和 组成的矩阵 ,请输出一个大小相同的矩阵,其中每一个格子是 中对应位置元素到最近的 的距离

 
第三题:腐烂的橘子

Leetcode994. 腐烂的橘子:中等题

在给定的 网格 中,每个单元格可以有以下三个值之一
值 代表空单元格
值 代表新鲜橘子
值 代表腐烂的橘子

 
第四题:迷宫中离入口最近的出口

Leetcode1926. 迷宫中离入口最近的出口:中等题

给你一个 的迷宫矩阵 (下标从 开始,矩阵中有空格子(用 表示)和墙(用 表示)。同时给你迷宫的入口 ,用 表示你一开始所在格子的行和列

多源BFS问题
逆向思维,即从出口出发,看最快到达出发点的路径,起始时,将所有出口点坐标入队

 
 

3.1 拓扑排序问题

第一题:课程表(有向无环图DAG

Leetcode207. 课程表:中等题

你这个学期必须选修 门课程,记为 到
在选修某些课程之前需要一些先修课程。 先修课程按数组 给出,其中 ,表示如果要学习课程 则 必须 先学习课程

  • 一共有门课要上,编号为
  • 先决条件 ,意思是必须先上课 ,才能上课
  • 给你和一个先决条件表,请你判断能否完成所有课程

使用BFS前的准备工作

  1. 每门课的入度需要被记录
  2. 课程之间的依赖关系也要被记录,我们关心选当前课会减小哪些课的入度
  3. 保存上面数据信息【每门课的入度,课程之间的依赖关系】需要选择何时的数据结构
  • 入度数组:课程作为索引,通过遍历先决条件表求出对应的初始入度
  • 邻接表:用哈希表记录依赖关系(:课程号,:依赖这门课的后续课

使用BFS

  1. 让入度为 的课程入列,他们是能直接选的课
  2. 让入度为 的课程逐个出列,出列代表着课被选,需要减小和该课程相关课的入度
  3. 如果相关课的入度变为 ,将该课程入队,再出队直到没有入度为 的课程入队

怎么判断能够修完所有课

  1. 结束时,如果仍有课的入度不为,说明完成不了所有课
  2. 用一个变量记录入列的顶点个数,最后判断 是否等于总课程数

 

注意: 是 内建 类的一个字类,功能与 相同,但它带有一个默认的值,若 值不存在时返回一个默认的值

第二题:课程表 II

Leetcode210. 课程表 II:中等题

你这个学期必须选修 门课程,记为 到
在选修某些课程之前需要一些先修课程。 先修课程按数组 给出,其中 ,表示如果要学习课程 则 必须 先学习课程

 

3.2 其他问题

第一题: 省份数量

Leetcode547. 省份数量:中等题

有 个城市,其中一些彼此相连,另一些没有相连。如果城市 与城市 直接相连,且城市 与城市 直接相连,那么城市 与城市 c 间接相连

 
 

第一题:岛屿数量

Leetcode200. 岛屿数量:中等题

给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量

 

第二题:岛屿的最大面积

Leetcode695. 岛屿的最大面积:中等题

给你一个大小为 的二进制矩阵 。
岛屿 是由一些相邻的 (代表土地) 构成的组合,这里的「相邻」要求两个 必须在 水平或者竖直的四个方向上 相邻。你可以假设 的四个边缘都被 (代表水)包围着

 

第三题:衣橱整理

LCR 130. 衣橱整理:中等题

家居整理师将待整理衣橱划分为 的二维矩阵 ,其中 代表一个需要整理的格子。整理师自 开始 逐行逐列 地整理每个格子

 

第四题:太平洋大西洋水流问题

Leetcode417. 太平洋大西洋水流问题:中等题

有一个 的矩形岛屿,与 太平洋 和 大西洋 相邻。 “太平洋” 处于大陆的左边界和上边界,而 “大西洋” 处于大陆的右边界和下边界

第一题:最小基因变化

Leetcode433. 最小基因变化:中等题

基因序列可以表示为一条由 个字符组成的字符串,其中每个字符都是 和 之一

 
第二题:单词接龙

Leetcode127. 单词接龙:困难题

字典 中从单词 和 的 转换序列 是一个按下述规格形成的序列

 
 

第一题:钥匙和房间

Leetcode841. 钥匙和房间:中等题

有 个房间,房间按从 到 编号。最初,除 号房间外的其余所有房间都被锁住。你的目标是进入所有的房间。然而,你不能在没有获得钥匙的时候进入锁住的房间

    以上就是本篇文章【Leetcode刷题笔记——广度优先搜索(BFS)】的全部内容了,欢迎阅览 ! 文章地址:http://fabua.ksxb.net/news/4907.html 
     文章      相关文章      动态      同类文章      热门文章      栏目首页      网站地图      返回首页 海之东岸资讯移动站 http://fabua.ksxb.net/mobile/ , 查看更多   
最新文章
wearos工具箱安卓版 最新版本v2.3.3下载
WearOS工具箱是一个应用程序,旨在提供一系列工具和功能,以提升使用WearOS智能手表的体验。它可以包括诸如计步器、心率监测、天
「 神器 」万能搜索网站,世界原来那么大
每天进步一丢丢,连接梦与想一个人生的抉择:活在别人的剧本还是叙写自己的人生又到周末了ken又来为大家挖掘一下好的东西啦~因为工
ios 跳转到app位置权限设置
在现代移动应用中,位置权限的管理至关重要,尤其是在涉及到地理位置相关功能时。iOS 提供了跳转到应用位置权限设置的功能,可以
win10系统优化工具免费版 高效免费Win10优化大师,流畅体验一键升级!
Win10系统优化工具免费版:提升性能,畅享高效体验在数字化时代,Windows 10作为微软推出的经典操作系统,凭借其强大的兼容性和
Hadoop——MapReduce组件(二)框架原理
MapTask的并行度决定Map阶段的任务处理并发度,进而影响到整个Job的处理速度。MapTask并行度决定机制 数据块: Bloc
wx小程序 开发框架:MINA
  微信团队为小程序提供的框架命名为MINA应用框架。MINA框架通过封装微信客户端提供的文件系统、网络通信、任务管理、数据安全
sift计算效率优化_基于Dynamic Time Warping(DTW)的时间序列相似度计算与效率优化
在介绍DTW的相似度计算之前,我们可以先说说一个更基础也更简单的时间序列相似度计算方法: Euclidean Distance。通过下图&
一文彻底搞懂大模型 - OpenAI o1(最强推理模型)
OpenAI o1 OpenAI o1于2024年9月13日正式发布,作为OpenAI最新发布的最强推理模型,标志着AI行业进入了一个新时代。
一件代发,分销代发货怎么打单?
对于很多新手商家来说,前期开店不敢大肆的进货开店,只好现在一件代发的形式。那么到底什么是一件代发呢?↓ ↓ ↓ 对于供应商
「最新消息」高手代做灰色关键词留痕百度收录排名
高手代做灰色关键词留痕百度收录