欢迎光临散文网 会员登陆 & 注册

LeetCodeTop100_200. 岛屿数量

2023-03-26 12:22 作者:方猫zzz  | 我要投稿

给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。


岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。


此外,你可以假设该网格的四条边均被水包围。


 


示例 1:


输入:grid = [

  ["1","1","1","1","0"],

  ["1","1","0","1","0"],

  ["1","1","0","0","0"],

  ["0","0","0","0","0"]

]

输出:1

示例 2:


输入:grid = [

  ["1","1","0","0","0"],

  ["1","1","0","0","0"],

  ["0","0","1","0","0"],

  ["0","0","0","1","1"]

]

输出:3


通过遍历矩阵,找到每个岛屿的起点,然后通过“感染函数”将其周围的所有相邻的1都标记为2。这样,每找到一个起点,就可以将它所在的岛屿的所有1都标记为2,最终岛屿的数量就是所有起点的数量。



LeetCodeTop100_200. 岛屿数量的评论 (共 条)

分享到微博请遵守国家法律