class Solution:
"""
@param grid: a boolean 2D matrix
@return: an integer
"""
def numIslands(self, grid):
# write your code here
if len(grid) == 0 or grid == None:
return 0
m = len(grid)
n = len(grid[0])
count = 0
for i in range(m):
for j in range(n):
if grid[i][j] == 1:
self.dfs_find(grid, i, j, m, n)
count += 1
return count
def dfs_find(self, grid, i ,j, m, n):
if grid[i][j] == 1:
grid[i][j] = 0
if i-1 >= 0:
self.dfs_find(grid, i-1, j, m, n)
if i+1 < m:
self.dfs_find(grid, i+1, j, m, n)
if j-1 >= 0:
self.dfs_find(grid, i, j-1, m, n)
if j+1 < n:
self.dfs_find(grid, i, j+1, m, n)
return
Python, LintCode, 433. 岛屿的个数
最新推荐文章于 2022-04-01 20:53:24 发布