美文网首页
2019-08-20 LeetCode200. 岛屿数量

2019-08-20 LeetCode200. 岛屿数量

作者: mztkenan | 来源:发表于2019-08-20 20:49 被阅读0次

1.第一次不知道为啥执行错误,本地运行大数据迭代深度超过
2.check的时候忘记检查=1
3.有特殊情况的,必须上下左右都检查一遍
4.python数组有负数这个比较特殊
35min

class Solution:
    def __init__(self):
        self.cnt=0

    def numIslands(self, grid: List[List[str]]) -> int:
        if not grid or len(grid)==0:return 0
        for i in range(len(grid)):
            for j in range(len(grid[0])):
                if grid[i][j]=='1':
                    self.cnt+=1
                    self.dfs(grid,i,j)
        return self.cnt



    def dfs(self,grid: List[List[str]],i:int,j:int):
        if self.check_valid(grid,i,j):
            grid[i][j]=None
            self.dfs(grid,i,j+1)
            self.dfs(grid,i,j-1)
            self.dfs(grid,i-1,j)
            self.dfs(grid,i+1,j)



    def check_valid(self,grid: List[List[str]],i:int,j:int):
        try:
            if i>=0 and i<len(grid) and j>=0 and j<len(grid[0]) and grid[i][j]!=None and grid[i][j]=='1':return True 记住python负数也可以使用,往下走的时候忘记判断==1
            else:return False
        except:
            return False

相关文章

  • 2019-08-20 LeetCode200. 岛屿数量

    1.第一次不知道为啥执行错误,本地运行大数据迭代深度超过2.check的时候忘记检查=13.有特殊情况的,必须上下...

  • leetcode200.岛屿数量

    题目链接 题目描述: 思路:递归 设置一个感染方法,遍历矩阵,当遍历到矩阵当前元素值为‘1’的时候,进入感染方法,...

  • 岛屿数量

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

  • 岛屿数量

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

  • 岛屿数量

    题目来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/numb...

  • 岛屿数量

    来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/number...

  • 岛屿数量

    题目描述 https://leetcode-cn.com/problems/number-of-islands/ ...

  • 岛屿数量

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

  • 岛屿数量

    题目: 题目的理解: 1相邻的是一个岛屿,遍历数组,当碰到1则记录一个岛屿A,然后将1相连的1都设置为2,说明已经...

  • leecode岛屿数量

    题目描述可用解法DFS 深度优先遍历BFS 广度优先遍历算法思路:下列代码用BFS,循环遍历输入的二维列表如果遇到...

网友评论

      本文标题:2019-08-20 LeetCode200. 岛屿数量

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