Graph Traversals

Concept Lab
Practice Problems
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.
Custom Input:
Loading trace state...
Step 0 / 0