首页 > 编程语言 >[Python手撕]岛屿数量

[Python手撕]岛屿数量

时间:2024-12-03 10:12:12浏览次数:5  
标签:示例 Python List 岛屿 网格 grid 数量

给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。
岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。
此外,你可以假设该网格的四条边均被水包围。

示例 1:

输入:grid = [
["1","1","1","1","0"],
["1","1","0","1","0"],
["1","1","0","0","0"],
["0","0","0","0","0"]
]
输出:1
示例 2:

输入:grid = [
["1","1","0","0","0"],
["1","1","0","0","0"],
["0","0","1","0","0"],
["0","0","0","1","1"]
]
输出:3

class Solution:
    def numIslands(self, grid: List[List[str]]) -> int:

        n = len(grid)
        m = len(grid[0])


        def eliminate(x,y):
            if 0<=x<n and 0<=y<m and grid[x][y] == "1":
                grid[x][y] = "0"

                eliminate(x+1,y)
                eliminate(x, y+1)
                eliminate(x - 1, y)
                eliminate(x, y-1)

        count = 0
        for i in range(n):
            for j in range(m):
                if grid[i][j] == "1":
                    eliminate(i,j)
                    count += 1
        
        return count

标签:示例,Python,List,岛屿,网格,grid,数量
From: https://www.cnblogs.com/DCFV/p/18583504

相关文章

  • python 创建mysql数据库脚(执行sql)脚本代码
    安装依赖库mysql-connector-pythonpipinstallmysql-connector-python执行创建数据库的sql脚本代码importmysql.connectorfrommysql.connectorimportErrordefcreate_database(db_name,host_name="192.168.0.33",user_name="root",user_password="SHU......
  • 每日一道算法题之并查集之岛屿数量
    classSolution{publicstaticintMAXN=90001;publicstaticint[]f=newint[MAXN];publicstaticintn=0;publicstaticintunion_count=0;publicstaticbooleanisSameSet(inti,intj){returnfind(i)==find(j);......
  • 《Python PDF 格式转换全攻略》
    《PythonPDF格式转换全攻略》一、引言二、常见的PDF转文件格式方法1.PDF转Word(一)、使用pdf2docx库(二)、使用PyMuPDF库(三)、使用pdfminer库(四)、使用PyPDF2和python-docx库(五)、使用pdf2image和python-docx库(六)、使用unoconv和LibreOffic......
  • 分享一个纯Python开发的系统程序,基于VSCode + WxPython开发的跨平台应用系统
    本项目是基于wxPython开发的GUI应用,主要用于管理基础框架内容,包括用户、角色、机构、权限、日志、菜单、字典、附件、通用编码规则、配置管理等基础框架内容。愿景是构建一个基于Python后端WebAPI或者本地多种数据库操作的通用应用系统,为各类企业提供一站式的管理系统解决......
  • 3、贪心算法python(活动选择问题、单源最短路径)
    一、活动选择问题给定一组活动,每个活动都有一个开始时间和结束时间,要求选择尽可能多的活动,并且这些活动之间不能有重叠。贪心策略的核心思想是每次选择结束时间最早的活动,这样可以为后续的活动留出更多的时间空间。活动选择问题的贪心算法步骤1、排序:首先按活动的结束时间对......
  • Python 函数详解
    Python函数详解Python中的函数是组织好的,可重复使用的,用来实现单一或相关联功能的代码段。函数可以提高应用的模块性,和代码的重复利用率。本文将详细介绍Python中的函数定义、使用和特性。什么是函数在Python中,函数是通过def关键字定义的。函数可以接受参数,并可......
  • python语言rar爬虫程序代码
    importrequestssession=requests.Session()设置请求头headers={“User-Agent”:“Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/131.0.0.0Safari/537.36Edg/131.0.0.0”,“Referer”:“https://m.ddooo.com/sof......
  • python语言rar爬虫程序代码
    importrequestssession=requests.Session()设置请求头headers={“User-Agent”:“Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/131.0.0.0Safari/537.36Edg/131.0.0.0”,“Referer”:“https://m.ddooo.com/sof......
  • python基于flask框架的运动健康饮食健身追踪系统
    文章目录项目介绍具体实现截图开发技术系统性能核心代码部分展示文章目录/协作提纲源码/演示视频获取方式项目介绍本文旨在设计并实现一款基于Django框架的健康健身追踪系统。随着人们对健康和健身意识的提高,健身追踪系统成为了现代生活中不可或缺的一部分。然而,现......
  • python基础学习8
    正则表达式&numpy正则表达式本身也是一个字符串,其中的字符具有特殊含义,将来我们可以根据这个字符串【正则表达式】去处理其他的字符串,比如可以对其他字符串进行匹配,切分,查找,替换等一系列操作。是一个独立于任何一门语言的技术,任何一门语言中都可以使用同一个正则表达式去操作......