博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python-leetcode-200-岛屿的个数
阅读量:4115 次
发布时间:2019-05-25

本文共 1538 字,大约阅读时间需要 5 分钟。

**题号: **200

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

示例 1:

输入:11110110101100000000输出:  1

示例 2:

输入:11000110000010000011输出: 3

代码如下:

class Solution:    def numIslands(self, grid):        """        :type grid: List[List[str]]        :rtype: int        """        if len(grid) == 0:            return 0        x = len(grid[0])-1        y = len(grid) -1        maxl = 0 #岛屿个数        for i in range(0,y+1):            for p in range(0,x+1):                now = grid[i][p]                if now == "1":                    maxl = maxl + 1                    l = []                    l.append([i,p])                    while len(l) != 0:                        nowi,nowp = l.pop()                        grid[nowi][nowp] = maxl                        #上                        if nowi != 0:                            if grid[nowi-1][nowp] == "1":                                l.append([nowi-1,nowp])                        #下                        if nowi != y:                            if grid[nowi+1][nowp] == "1":                                l.append([nowi+1,nowp])                        #左                        if nowp != 0:                            if grid[nowi][nowp-1] == "1":                                l.append([nowi,nowp-1])                        #右                        if nowp != x:                            if grid[nowi][nowp+1] == "1":                                l.append([nowi,nowp+1])        return maxl

当然大家可以考虑用DFS做法!

转载地址:http://dvwpi.baihongyu.com/

你可能感兴趣的文章
python数字逆序输出及多个print输出在同一行
查看>>
ESP8266 WIFI数传 Pixhaw折腾笔记
查看>>
苏宁产品经理面经
查看>>
百度产品经理群面
查看>>
去哪儿一面+平安科技二面+hr面+贝贝一面+二面产品面经
查看>>
element ui 弹窗在IE11中关闭时闪现问题修复
查看>>
vue 遍历对象并动态绑定在下拉列表中
查看>>
Vue动态生成el-checkbox点击无法选中的解决方法
查看>>
python __future__
查看>>
MySQL Tricks1
查看>>
python 变量作用域问题(经典坑)
查看>>
pytorch
查看>>
pytorch(二)
查看>>
pytorch(三)
查看>>
pytorch(四)
查看>>
pytorch(5)
查看>>
pytorch(6)
查看>>
ubuntu相关
查看>>
C++ 调用json
查看>>
nano中设置脚本开机自启动
查看>>