图论——广度优先搜索实现

embedded/2025/3/18 15:22:56/

99. 岛屿数量

题目描述

给定一个由 1(陆地)和 0(水)组成的矩阵,你需要计算岛屿的数量。岛屿由水平方向或垂直方向上相邻的陆地连接而成,并且四周都是水域。你可以假设矩阵外均被水包围。

输入描述

第一行包含两个整数 N, M,表示矩阵的行数和列数。

后续 N 行,每行包含 M 个数字,数字为 1 或者 0。

输出描述

输出一个整数,表示岛屿的数量。如果不存在岛屿,则输出 0。

输入示例
4 5
1 1 0 0 0
1 1 0 0 0
0 0 1 0 0
0 0 0 1 1
输出示例
3
提示信息

根据测试案例中所展示,岛屿数量共有 3 个,所以输出 3。

数据范围:

1 <= N, M <= 50

BFS实现

  1. 输入处理

    • 读取二维矩阵的大小 


http://www.ppmy.cn/embedded/173624.html

相关文章

golang中的结构体

1.简介 go也支持面向对象编程(OOP)&#xff0c;但是和传统的面向对象编程有区别&#xff0c;并不是纯粹的面向对象语言。所以说go支持面向对象编程特性是比较准确的。go没有类(class)&#xff0c;go语言的结构体(struct)和其它编程语言的类(class)有同等的地位&#xff0c;你可…

正则表达式小结

正则表达式是一种用于描述文本模式的特殊字符串&#xff0c;它由一系列字符和特殊字符组成&#xff0c;用于匹配和操作文本数据。下面是正则表达式的一些常见规则&#xff1a; 字符匹配&#xff1a; 普通字符&#xff1a;正则表达式中的普通字符&#xff08;字母、数字、符号&a…

嵌入式项目代码架构与分层

代码架构与分层 BSP:板级支持驱动程 BSP: Board Support Package MCU和板上外设器件(比如MPU6050)的通信与交互过程。 有时候分两种: 1.在裸机(有限状态机)情况下,写的驱动程序; 2.在操作系统下,写驱动程序。 Core:MCU驱动程序 面向MCU进行编程,初始化MCU内部的外设(时…

解决QT_Debug 调试信息不输出问题

方式1 &#xff1a;手动通过添加环境变量解决 ->使用命令&#xff1a; QT_LOGGING_TO_CONSOLE1 qtcreator启动 ->如若还未输出qDebug调试信息 则在程序中引<QLoggingCategory>包 #include <QLoggingCategory> ->在程序入口添加 QLoggingCategory::defa…

本地部署deepseek-r1建立向量知识库和知识库检索实践【代码】

目录 一、本地部署DS 二、建立本地知识库 1.安装python和必要的库 2.设置主目录工作区 3.编写文档解析脚本 4.构建向量数据库 三、基于DS,使用本地知识库检索 本地部署DS,其实非常简单,我写了一篇操作记录,我终于本地部署了DeepSeek-R1(图文全过程)-CSDN博客 安装…

(性能测试)性能测试工具 2.jmeter的环境搭建 3jmeter元件和4使用实例 5jmeter元件和参数化

目录 性能测试工具 性能测试工具 jemeter环境搭建 jmeter的常用目录介绍 jmeter修改语言和主题--jmeter界面的汉化 jmeter元件 jmeter元件和组件的介绍 jmeter的作用域原则 jmeter的执行顺序 案例&#xff1a;执行顺序 jmeter使用案例 jmeter线程组的介绍 jmeter…

365天之第P10周:Pytorch实现车牌识别

365天之第P10周&#xff1a;Pytorch实现车牌识别 Pytorch实现车牌识别 365天之第P10周&#xff1a;Pytorch实现车牌识别一、导入数据1.获取类别名2. 数据可视化3. 标签数字化4. 加载数据文件5. 划分数据 二、自建模型三、 训练模型1. 优化器与损失函数2. 模型训练 四、 结果分析…

深入理解 C++20 中的 `std::shared_ptr` 原子操作

文章目录 1. std::shared_ptr 的线程安全问题2. std::shared_ptr 原子操作函数2.1 原子读取和存储2.2 原子交换2.3 原子比较交换 3. 注意事项4. 示例5. 总结 在多线程编程中&#xff0c;线程安全是一个至关重要的问题。C11 引入了 std::shared_ptr&#xff0c;它通过引用计数机…