41.岛屿数量(第四期模拟笔试)(BFS练习题)
41.岛屿数量(第四期模拟笔试)(BFS练习题)
原创 已于 2023-10-16 17:16:59 修改 · 粉丝可见 · 288 阅读 · 0 · 0 · 本内容遵循CC 4.0 BY-SA版权协议 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 · 编辑
文章链接:https://blog.csdn.net/hacker_51/article/details/132650363
链接: 卡码网KamaCoder
题目:
| 给定一个 m 行 n 列的二维地图,初始化每个单元格都是海洋,二维地图外也全是海洋。 操作 addLand 会将单元格(col, row)变为陆地。 定义一系列相连的被海洋包围的陆地为岛屿, 横向相邻或者纵向相连的岛屿才算相连(斜着相邻的不算)。 现有一系列的 addLand 操作,给出每次 addLand 操作后岛屿的个数。 |
|---|


样例:
cobol<br/>3<br/>3<br/>4<br/>0 0<br/>0 1<br/>1 2<br/>2 1<br/> |
|---|
| 1 1 2 3 |
|---|

思路:
根据题意,我们是要找到 连通块有多少个,就是多少个岛屿。
由于数据范围较小,所以我们可以使用BFS搜索,每一次放生成大陆后直接暴力查找连通块输出即可,而 非法坐标的情况,我们可以直接忽略。
代码详解如下:
1 | |
最后提交:

觉得不错的话,给点打赏吧 ୧(๑•̀⌄•́๑)૭
wechat pay
ali pay
41.岛屿数量(第四期模拟笔试)(BFS练习题)
http://blog.angindem.cn/2023/10/16/Angindem-CSDN博客/049_49/