题解 | #岛屿数量#
岛屿数量
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
}
格力公司福利 335人发布
