鑫牛元网站建设,鄂尔多斯网站制作,wordpress 博客 主题,福建有没有网站做鞋子一件代发1905. 统计子岛屿
解题思路
如果两个岛屿的点不一样 说明grid2这个岛屿一定不是子岛屿 然后淹没i j 以及相邻的土地现在grid2 剩下的岛屿 全部都是子岛屿 计算岛屿的数量 dfs计算陆地数量 class Solution {public int countSubIslands(int[][] grid1, int[][] grid2) {int m …1905. 统计子岛屿
解题思路
如果两个岛屿的点不一样 说明grid2这个岛屿一定不是子岛屿 然后淹没i j 以及相邻的土地现在grid2 剩下的岛屿 全部都是子岛屿 计算岛屿的数量 dfs计算陆地数量 class Solution {public int countSubIslands(int[][] grid1, int[][] grid2) {int m grid1.length;int n grid1[0].length;for(int i 0; i m; i){for(int j 0; j n; j){// 如果两个岛屿的点不一样 说明grid2这个岛屿一定不是子岛屿if(grid1[i][j] 0 grid2[i][j] 1){// 淹没 i j 以及相邻的土地dfs(grid2,i,j);}}}int res 0;// 现在grid2 剩下的岛屿 全部都是子岛屿 计算岛屿的数量for(int i 0; i m; i){for(int j 0; j n; j){if(grid2[i][j] 1){res;dfs(grid2,i,j);}}}return res;}// DFSvoid dfs(int[][] grid,int i,int j){int m grid.length;int n grid[0].length;if(i 0 || j 0 || i m || j n){return;}// 遇到海水if(grid[i][j] 0){return ;}grid[i][j] 0;dfs(grid,i 1,j);dfs(grid, i - 1,j);dfs(grid,i ,j 1);dfs(grid,i,j-1);}
}