用Python实现数据结构与算法中的岛屿数量问题
发布时间
阅读量:
阅读量
题目描述:
给定一个由 '1'(表示'land')与 '0'(表示'water')组成的二维数组,请计算其中包含多少个岛屿。每个岛屿被水域完全包围,并通过上下左右相邻的方式与其他陆地区域连接形成形状。在此问题中,默认假设所有网格边界都被水域覆盖
示例1:
输入:
11110
11010
11000
00000
输出:
1
示例2:
输入:
11000
11000
00100
00011
起源于力扣平台(LeetCode),并拥有专有版权的所有权。
版權歸來克網絡所有
解题思路:
本题的关键是如何确定陆地边界的确定方法,并呈现出全面蔓延趋势的同时具有空间扩展感。
BFS算法首先识别所有标记为1的单元格(代表陆地),并将这些单元格收集到候选起始点列表中。
三个核心数据结构(如队列):
该算法首先识别所有标记为1的单元格,并将其收集到候选起始点列表中。
初始化一个标记矩阵用于记录已探索的位置,在遍历过程中
- landList:用于存储所有陆地坐标的集合
- markedList:一个与输入同样大小的布尔数组,默认所有元素初始化为False值
- searchList:在遍历过程中始
全部评论 (0)
还没有任何评论哟~
