Advertisement

用Python实现数据结构与算法中的岛屿数量问题

阅读量:

题目描述:

给定一个由 '1'(表示'land')与 '0'(表示'water')组成的二维数组,请计算其中包含多少个岛屿。每个岛屿被水域完全包围,并通过上下左右相邻的方式与其他陆地区域连接形成形状。在此问题中,默认假设所有网格边界都被水域覆盖

示例1:
复制代码
    输入:
    11110
    11010
    11000
    00000
    
    输出:
    1
示例2:
复制代码
    输入:
    11000
    11000
    00100
    00011

起源于力扣平台(LeetCode),并拥有专有版权的所有权。

版權歸來克網絡所有

解题思路:

本题的关键是如何确定陆地边界的确定方法,并呈现出全面蔓延趋势的同时具有空间扩展感。
BFS算法首先识别所有标记为1的单元格(代表陆地),并将这些单元格收集到候选起始点列表中。
三个核心数据结构(如队列):
该算法首先识别所有标记为1的单元格,并将其收集到候选起始点列表中。
初始化一个标记矩阵用于记录已探索的位置,在遍历过程中

  1. landList:用于存储所有陆地坐标的集合
  2. markedList:一个与输入同样大小的布尔数组,默认所有元素初始化为False值
  3. searchList:在遍历过程中始

全部评论 (0)

还没有任何评论哟~