【算法三十八】200. 岛屿数量
200. 岛屿数量DFSclass Solution { public int numIslands(char[][] grid) { int ans 0; for(int i 0;igrid.length;i){ for(int j 0;jgrid[0].length;j){ if(grid[i][j]1){ dfs(grid,i,j); ans; } } } return ans; } private void dfs(char[][] grid,int i,int j){ //是否越界被选过 if(i0 || igrid.length || j0 || jgrid[0].length || grid[i][j]!1){ return; } //标记为已选过 grid[i][j] 2; //递归 dfs(grid,i1,j); dfs(grid,i-1,j); dfs(grid,i,j1); dfs(grid,i,j-1); } }时间复杂度O(mn) 其中 m 和 n 分别是 grid 的行数和列数空间复杂度O(mn)
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2498904.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!