美文网首页
LeetCode-python 200.岛屿数量

LeetCode-python 200.岛屿数量

作者: wzNote | 来源:发表于2019-09-24 09:58 被阅读0次

题目链接
难度:中等       类型: 深度优先搜索


给定一个由 '1'(陆地)和 '0'(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的。你可以假设网格的四个边均被水包围。

示例1

输入:
11110
11010
11000
00000
输出: 1

示例2

输入:
11000
11000
00100
00011
输出: 3

解题思路


  1. 遍历这个网格,当有一格内是‘1’时,以此为起点,向四个方向进行深度优先搜索(广度优先搜索也行),找到所有能到达的‘1’,搜索过的地方用‘#’标记,以免重复搜索,无法及继续搜索时代表已经找到一个完整的岛屿。
  2. 继续遍历网格,重复第1步,直到网格遍历完

代码实现

class Solution(object):
    def numIslands(self, grid):
        """
        :type grid: List[List[str]]
        :rtype: int
        """
        count = 0
        for i in range(len(grid)):
            for j in range(len(grid[0])):
                
                if grid[i][j] == '1':
                    self.dfs(grid, i,j)
                    count += 1
                    
        return count
    
    def dfs(self, grid, i, j):
        if i<0 or j<0 or i>=len(grid) or j>=len(grid[0]) or grid[i][j] != '1':
            return
        grid[i][j] = '#'
        self.dfs(grid, i+1, j)
        self.dfs(grid, i-1, j)
        self.dfs(grid, i, j+1)
        self.dfs(grid, i, j-1)
            

本文链接:https://www.jianshu.com/p/248896a06498

相关文章

  • 200. 岛屿数量

    200. 岛屿数量

  • LeetCode-python 200.岛屿数量

    题目链接难度:中等 类型: 深度优先搜索 给定一个由 '1'(陆地)和 '0'(水)组成的的二维...

  • LeetCode-200-岛屿数量

    LeetCode-200-岛屿数量 200. 岛屿数量[https://leetcode-cn.com/probl...

  • 200. 岛屿数量

    我的思路: 采用深度优先搜索,把附近为1的全部进行标记。 对每一个格子遍历进行遍历,若为1且没被标记,则ret++...

  • 200. 岛屿数量

    给定一个由 '1'(陆地)和 '0'(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过水平方向或...

  • 200. 岛屿数量

    只能是水平或竖直来进行切割小岛 在遍历整个矩阵时,如果遇到是1,向东南西北四个方向进行扩散: (1)观察是否越界(...

  • 200. 岛屿数量

    给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座...

  • 200.岛屿数量

    源码如下 四连通的经典题。 去检查一个1周围四个方向是否有没走过的1。同时遍历的1,标记一个数字,标记完后标记数字自加。

  • 200.岛屿数量

    给你一个由'1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿...

  • 200. 岛屿数量

    200. 岛屿数量[https://leetcode-cn.com/problems/number-of-isla...

网友评论

      本文标题:LeetCode-python 200.岛屿数量

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