美文网首页
53. LeetCode 695. 岛屿的最大面积

53. LeetCode 695. 岛屿的最大面积

作者: 月牙眼的楼下小黑 | 来源:发表于2018-11-04 11:13 被阅读24次
  • 标签: 数组 深度优先搜索
  • 难度: 中等

  • 题目描述
  • 我的解法

未访问过岛屿结点 出发进行 深度优先搜索,访问过的岛屿结点设为 0. 递归函数 dfs(i,j) 返回的是从岛屿结点( grid[i][j] == 1)出发搜索到的岛屿结点数目

import numpy as np
class Solution(object):
    def maxAreaOfIsland(self, grid):
        if not grid:
            return 0

        rows, cols = len(grid), len(grid[0])

        def dfs(i, j):  # 只对岛屿结点(grid[i][j]==1)进行搜索, 纪录从该节点出发搜索到的岛屿结点数
            grid[i][j] = 0
            num = 1
            if 0<= i - 1< rows and 0 <= j < cols and grid[i-1][j]:
                num += dfs(i-1, j)
            if 0<= i < rows and 0 <= j + 1 < cols and grid[i][j + 1]:
                num += dfs(i, j + 1)
            if 0<= i + 1< rows and 0 <= j < cols and grid[i + 1][j]:
                num += dfs(i + 1, j)
            if 0<= i  < rows and 0 <= j - 1 < cols and grid[i][j-1]:
                num += dfs(i, j - 1)
            return num

        areas = []
        for i in range(rows):
            for j in range(cols):
                if(grid[i][j]):
                    areas.append(dfs(i,j))
        if not areas:
            return 0
        return max(areas)
  • 其他解法

暂略。

相关文章

  • 53. LeetCode 695. 岛屿的最大面积

    标签: 数组 深度优先搜索 难度: 中等 题目描述 我的解法 从 未访问过 的 岛屿结点 出发进行 深度优先搜...

  • LeetCode 695.岛屿的最大面积

    题目 给定一个包含了一些 0 和 1的非空二维数组 grid , 一个 岛屿 是由四个方向 (水平或垂直) 的 1...

  • LeetCode 695. 岛屿的最大面积

    给定一个包含了一些 0 和 1的非空二维数组 grid , 一个 岛屿 是由四个方向 (水平或垂直) 的 1 (代...

  • 695. 岛屿的最大面积

    其实和200题一样,只不过加一个size变量,每沉没一个岛,就进行深度优先遍历,count就+1,然后返回一个最大值

  • 695. 岛屿的最大面积

    给定一个包含了一些 0 和 1 的非空二维数组 grid 。 一个 岛屿 是由一些相邻的 1 (代表土地) 构成的...

  • 695. 岛屿的最大面积

    【Description】 给定一个包含了一些 0 和 1的非空二维数组 grid , 一个 岛屿 是由四个方向 ...

  • 695. 岛屿的最大面积

    给定一个包含了一些 0 和 1的非空二维数组 grid , 一个 岛屿 是由四个方向 (水平或垂直) 的 1 (代...

  • 695. 岛屿的最大面积

    岛屿的最大面积 题目描述 给定一个包含了一些 0 和 1的非空二维数组 grid , 一个 岛屿 是由四个方向 (...

  • 695.岛屿的最大面积

    解题思路 深度优先搜索:当遍历到网格中的一块土地时,如果没有访问过,则对其进行访问,置访问标记,并且对其四周的土地...

  • 695. 岛屿的最大面积

    题目描述 给定一个包含了0、1的非空二维数组grid,一个岛屿是由四个方向(垂直或水平)的1构成的组合。找到给定二...

网友评论

      本文标题:53. LeetCode 695. 岛屿的最大面积

      本文链接:https://www.haomeiwen.com/subject/vhsrxqtx.html