1254. 统计封闭岛屿的数目文章来源:https://www.toymoban.com/news/detail-699939.html
关于岛屿的相似题目:文章来源地址https://www.toymoban.com/news/detail-699939.html
- 岛屿数量 – 二维矩阵的dfs算法
- 封闭岛屿数量 – 二维矩阵的dfs算法
- 统计封闭岛屿的数目
- 统计子岛屿
- 不同岛屿的数量
class MaxAreaOfIsland:
"""
floodFill 算法
1254. 统计封闭岛屿的数目
https://leetcode.cn/problems/number-of-closed-islands/
"""
def solution(self, grid: List[List[str]]) -> int:
res = 0
m, n = len(grid), len(grid[0])
# 遍历grid,就是所有的封闭岛屿
for i in range(m):
for j in range(n):
if grid[i][j] == 1:
res = max(res, self.dfs_matrix(grid, i, j))
return res
def dfs_matrix(self, grid, i, j):
m, n = len(grid), len(grid[0])
# 跳出递归条件
if i < 0 or i >= m or j < 0 or j >= n:
return 0
if grid[i][j] == 0:
return 0
grid[i][j] = 0
return self.dfs_matrix(grid, i - 1, j) + \
self.dfs_matrix(grid, i + 1, j) + \
self.dfs_matrix(grid, i, j - 1) + \
self.dfs_matrix(grid, i, j + 1) + 1
到了这里,关于统计封闭岛屿的数目的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!