响应式网络网站源码,网站建设项目推进表,适合前端做项目的网站,wordpress可以做oa系统吗文章目录题目描述代码 思路更新代码题目描述
直接毁岛#xff01;每次发现一个岛#xff0c;ans#xff0c;然后直接把整个岛毁了#xff08;感染#xff09;直到最后#xff0c;找出所有岛#xff0c;此时地图上全都是’0’
代码 思路
每次找到一个岛 思路更新代码题目描述
直接毁岛每次发现一个岛ans然后直接把整个岛毁了感染直到最后找出所有岛此时地图上全都是’0’
代码 思路
每次找到一个岛就进行四个方向的递归感染把整个岛都毁了。
class Solution {int m;int n;public int numIslands(char[][] grid) {m grid.length;n grid[0].length;int ans 0;for(int i0;im;i){for(int j0;jn;j){// 答案加一然后把岛毁了if(grid[i][j] 1){ans;dfs(grid,i,j);}}}return ans;}void dfs(char[][] grid, int i, int j){if(i m j n i 0 j 0){if(grid[i][j] 1){grid[i][j] 0;dfs(grid,i1,j);dfs(grid,i,j1);dfs(grid,i-1,j);dfs(grid,i,j-1);}}}
}更新代码
class Solution {public int numIslands(char[][] grid) {int counts 0;for(int i 0; i grid.length; i) {for(int j 0; j grid[0].length; j) {if(grid[i][j] 1) {counts;fire(grid, i, j);}}}return counts;}public void fire(char[][] grid, int i, int j) {if(i grid.length || j grid[0].length || i 0 || j 0 || grid[i][j] 0) {return;}grid[i][j] 0;fire(grid, i 1, j);fire(grid, i - 1, j);fire(grid, i, j 1);fire(grid, i, j - 1);}
}