Skip to content

Commit f110883

Browse files
authored
Merge pull request #860 from MaratKhakim/695-Max-Area-Of-Island-GO
GO: 695. Max Area of Island
2 parents a616539 + 7180f58 commit f110883

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

go/695-Max-Area-Of-Island.go

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
func maxAreaOfIsland(grid [][]int) int {
2+
row, col := len(grid), len(grid[0])
3+
res := 0
4+
5+
for i := 0; i < row; i++ {
6+
for j := 0; j < col; j++ {
7+
if grid[i][j] == 1 {
8+
curr := dfs(grid, i, j)
9+
if curr > res {
10+
res = curr
11+
}
12+
}
13+
}
14+
}
15+
16+
return res
17+
}
18+
19+
func dfs(grid [][]int, row, col int) int {
20+
if row < 0 || row >= len(grid) || col < 0 || col >= len(grid[0]) {
21+
return 0
22+
}
23+
24+
if grid[row][col] == 0 {
25+
return 0
26+
}
27+
28+
grid[row][col] = 0
29+
30+
return dfs(grid, row+1, col) + dfs(grid, row-1, col) + dfs(grid, row, col+1) + dfs(grid, row, col-1) + 1
31+
}

0 commit comments

Comments
 (0)