1 题目
给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。
岛屿总是被水包围,并且每座岛屿只能由水平方向或竖直方向上相邻的陆地连接形成。
此外,你可以假设该网格的四条边均被水包围。
示例 1:
输入:
[
[‘1’,‘1’,‘1’,‘1’,‘0’],
[‘1’,‘1’,‘0’,‘1’,‘0’],
[‘1’,‘1’,‘0’,‘0’,‘0’],
[‘0’,‘0’,‘0’,‘0’,‘0’]
]
输出: 1
示例 2:
输入:
[
[‘1’,‘1’,‘0’,‘0’,‘0’],
[‘1’,‘1’,‘0’,‘0’,‘0’],
[‘0’,‘0’,‘1’,‘0’,‘0’],
[‘0’,‘0’,‘0’,‘1’,‘1’]
]
输出: 3
解释: 每座岛屿只能由水平和/或竖直方向上相邻的陆地连接而成。
链接:https://leetcode-cn.com/problems/number-of-islands
2 思路
这道题思路就是图的广度优先遍历,将搜索到的1变为#,然后统计次数就可以了
3代码
/**
* @param {character[][]} grid
* @return {number}
*/
var numIslands = function(grid) {
let res = 0;
let rows =

本文详细解析了一道经典的图论问题——计算二维网格中由'1'(陆地)和'0'(水)组成的岛屿数量。通过广度优先搜索(BFS)算法,将搜索到的陆地标记并统计岛屿数量,最终实现了解决方案。
最低0.47元/天 解锁文章
1529

被折叠的 条评论
为什么被折叠?



