#776. 岛屿数量
岛屿数量
题目描述
统计二维矩阵中由 '1'组成的岛屿数量,相邻的陆地('1')如果在水平或垂直方向上相邻(上下左右),则视为同一个岛屿。对角相邻的陆地不视为同一个岛屿。
输入格式
一个二维字符矩阵 grid,其中 '1'表示陆地,'0'表示水域。
输出格式
矩阵中岛屿的总数量。
样例
输入样例 1
3 3
1 0 1
1 1 1
0 0 0
输出样例 1
岛屿数量: 1
输入样例 2
3 3
0 0 0
0 0 0
0 0 0
输出样例 2
岛屿数量: 0
输入样例 3
2 2
1 1
1 1
输出样例 3
岛屿数量: 1
提示
解题思路:核心方法:深度优先搜索(DFS) 或 广度优先搜索(BFS)。步骤: 1.遍历矩阵:逐个检查矩阵中的每个单元格。 2.发现陆地:当遇到一个未被访问过的 '1'(陆地)时,表示发现了一个新的岛屿,岛屿计数 count加 1。 3.标记与扩展:通过 DFS 或 BFS 将该陆地及其所有相邻的陆地(上下左右)标记为已访问(例如将 '1'改为 '0'或使用额外的 visited数组),以确保它们属于同一个岛屿,不会被重复计数。