Advertisement

0093

阅读量:

泛洪填充算法在岛屿相关问题中被广泛应用:

  • 1254.统计封闭岛屿的数目
  • 694.不同的岛屿数
  • 200.岛屿问题

针对该类问题,通常采用三种解决方式:深度优先搜索(DFS)、广度优先搜索(BSF)以及并查集。以下将以200.岛屿问题为例,解析泛洪填充的具体实现过程。题目描述如下:

假设有一个二维网格,其中包含字符‘1’(代表陆地)和‘0’(代表水域),请计算该网格中岛屿的总数。

岛屿的定义是被水包围的陆地区域,并且每座岛屿由水平或垂直方向上相邻的陆地构成。

另外,可以假设网格的四周均被水域包围。

示例 1:

输入: 11110 11010 11000 00000 输出: 1 示例 2:

输入: 11000 11000 00100 00011 输出: 3 解释: 每个岛屿只能由水平或垂直方向上相邻的陆地组成。

问题分析 :以深度优先搜索(DFS)方法为例,由于目标是统计岛屿的数量(即连通区域的数量),因此需要对整个网格进行扫描。对于每个单元格:

  • 值为‘1’ :表明该位置属于某个岛屿的一部分。通过扩展搜索其相连的区域,最终会触及到网格边界,从而确认一个完整的岛屿。在此过程中,**所有属于当前岛屿的单元格应被标记为已

全部评论 (0)

还没有任何评论哟~