import numpy as np
import pandas as pd
# from pydantic
nums = [
[1, 1, 0, 0, 0],
[0, 1, 0, 0, 1],
[0, 0, 0, 1, 1],
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 1]
]
class Solution(object):
def numIslands(self, grid):
row = len(grid)
if row == 0 or grid == None:
return 0
col = len(grid[0])
count = 0
for i in range(row):
for j in range(col):
if grid[i][j] == 1:
self.dfsFind(grid, i, j, row, col)
count += 1
print(count)
return count
def dfsFind(self, grid, i, j, row, col):
print(i,j,row,col)
# [1, 1, 0, 0, 0],
# [0, 1, 0, 0, 1],
# [0, 0, 0, 1, 1],
# [0, 0, 0, 0, 0],
# [0, 0, 0, 0, 1]
if grid[i][j] == 1:
grid[i][j] = 0
if i - 1 >= 0:
grid = self.dfsFind(grid, i - 1, j, row, col)
if i + 1 < row:
grid = self.dfsFind(grid, i + 1, j, row, col)
if j - 1 >= 0:
grid = self.dfsFind(grid, i, j - 1, row, col)
if j + 1 < col:
grid = self.dfsFind(grid, i, j + 1, row, col)
return grid
a=Solution()
a.numIslands(nums)
Python 岛屿问题
最新推荐文章于 2024-02-22 10:00:00 发布