Python Execution SynchronizerActive Line: 1
1
def count_islands(grid):
2
if not grid:
3
return 0
4
rows, cols = len(grid), len(grid[0])
5
islands = 0
6
7
def dfs(r, c):
8
if r < 0 or r >= rows or c < 0 or c >= cols or grid[r][c] != 1:
9
return
10
grid[r][c] = 0 # mark visited
11
dfs(r + 1, c)
12
dfs(r - 1, c)
13
dfs(r, c + 1)
14
dfs(r, c - 1)
15
16
for r in range(rows):
17
for c in range(cols):
18
if grid[r][c] == 1:
19
islands += 1
20
dfs(r, c)
21
22
return islands
No execution event recorded.
Loading trace state...
Step 0 / 0