| 123456789101112131415161718192021222324252627282930313233343536 | var detX = []int{1, 0, -1, 0}var detY = []int{0, 1, 0, -1}func maxAreaOfIsland(grid [][]int) (area int) {	H := len(grid)	if H == 0 {		return	}	W := len(grid[0])	for y := 0; y < H; y++ {		for x := 0; x < W; x++ {			area = maxInt(area, dfs(grid, W, H, x, y))		}	}	return}func dfs(grid [][]int, W, H, x, y int) (area int) {	if x < 0 || W <= x || y < 0 || H <= y || grid[y][x] == 0 {		return	}	area++	grid[y][x] = 0	for i := 0; i < 4; i++ {		nx, ny := x+detX[i], y+detY[i]		area += dfs(grid, W, H, nx, ny)	}	return}func maxInt(x, y int) int {	if x < y {		return y	}	return x}
 |