Skip to content

Commit 7b7431a

Browse files
committed
solve: number of islands
1 parent 88cddc9 commit 7b7431a

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

number-of-islands/evan.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
from typing import List
2+
3+
4+
class Solution:
5+
def numIslands(self, grid: List[List[str]]) -> int:
6+
if not grid:
7+
return 0
8+
9+
rows, cols = len(grid), len(grid[0])
10+
count = 0
11+
12+
def dfs(r, c):
13+
if r < 0 or c < 0 or r >= rows or c >= cols or grid[r][c] == "0":
14+
return
15+
16+
grid[r][c] = "0"
17+
18+
dfs(r + 1, c)
19+
dfs(r - 1, c)
20+
dfs(r, c + 1)
21+
dfs(r, c - 1)
22+
23+
for row in range(rows):
24+
for col in range(cols):
25+
if grid[row][col] == "1":
26+
count += 1
27+
dfs(row, col)
28+
29+
return count

0 commit comments

Comments
 (0)