自贡北京网站建设,南山网站制作联系电话,sae wordpress 更新,设计师推荐岛屿数量
力扣链接#xff1a;200. 岛屿数量
题目描述
给你一个由 ‘1’#xff08;陆地#xff09;和 ‘0’#xff08;水#xff09;组成的的二维网格#xff0c;请你计算网格中岛屿的数量。
岛屿总是被水包围#xff0c;并且每座岛屿只能由水平方向和/或竖直方向…岛屿数量
力扣链接200. 岛屿数量
题目描述
给你一个由 ‘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
Java代码
class Solution {public int numIslands(char[][] grid) {int islandNum 0;for(int i 0; i grid.length; i){for(int j 0; j grid[0].length; j){if(grid[i][j] 1){infect(grid, i, j);islandNum;}}}return islandNum;}//感染函数public void infect(char[][] grid, int i, int j){if(i 0 || i grid.length || j 0 || j grid[0].length || grid[i][j] ! 1){ return;}grid[i][j] 2;infect(grid, i 1, j);infect(grid, i - 1, j);infect(grid, i, j 1);infect(grid, i, j - 1);}
}来源力扣LeetCode 链接https://leetcode.cn/problems/number-of-islands 著作权归领扣网络所有。商业转载请联系官方授权非商业转载请注明出处。