package main /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * 判断岛屿数量 * @param grid char字符型二维数组 * @return int整型 */ var dx = []int{0,1,0,-1} var dy = []int{1,0,-1,0} func solve( grid [][]byte ) int { // write code here n,m := len(grid),len(grid[0]) var dfs func(x,y int) dfs = func(x, y int) { grid[x][y] = '0' for i:=0;i<4;i++{ nx := x + dx[i] ny := y + dy[i] if nx >= 0 && nx < n && ny >= 0 && ny < m && grid[nx][ny] == '1'{ dfs(nx,ny) } } } var rst int for i := 0;i<n;i++{ for j:=0;j<m;j++{ if grid[i][j] == '1' { rst++ dfs(i,j) } } } return rst }