题解 | #岛屿数量#
岛屿数量
https://www.nowcoder.com/practice/0c9664d1554e466aa107d899418e814e
package main /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * 判断岛屿数量 * @param grid char字符型二维数组 * @return int整型 */ func solve( grid [][]byte ) int { // write code here res := 0 h := len(grid[0]) v := len(grid) var findOthers func(i int , j int) //找出所有关联的点置为 '0' findOthers = func(i, j int) { if grid[i][j] == '0'{ return }else{ grid[i][j] = '0' if i-1>=0 && i-1<v && j>=0 && j<h{ findOthers(i-1,j) } if i>=0 && i<v && j-1>=0 && j-1<h{ findOthers(i,j-1) } if i+1>=0 && i+1<v && j>=0 && j<h{ findOthers(i+1,j) } if i>=0 && i<v && j+1>=0 && j+1<h{ findOthers(i,j+1) } } } for i,list := range grid{ for j,code := range list{ if code == '1' { res++ findOthers(i,j) } } } return res }