力扣热题51

200. 岛屿数量 - 力扣(LeetCode)https://leetcode.cn/problems/number-of-islands/submissions/628256822/?envType=study-plan-v2&envId=top-100-liked

深度优先递归

双层循环进行遍历,对每个1进行计数作为岛屿,然后进入递归将这个1四周的1的四周都变为0即淹没,最后得到答案

复制代码
#python
class Solution:
    def dfs(self,grid,a,b):
        grid[a][b]=0
        c,d=len(grid),len(grid[0])
        for x,y in [(a-1,b),(a+1,b),(a,b-1),(a,b+1)]:
            if 0<=x<c and 0<=y<d and grid[x][y]=="1":
                self.dfs(grid,x,y)
    def numIslands(self, grid: List[List[str]]) -> int:
        a=len(grid)
        if a==0:
            return 0
        b=len(grid[0])
        ans=0
        for i in range(a):
            for j in range(b):
                if grid[i][j]=="1":
                    ans=ans+1
                    self.dfs(grid,i,j)
        return ans
相关推荐
倒头就睡的小比特1 天前
算法竞赛C++常用的STL
c++·算法
默_笙1 天前
🍙 给每个请求过安检:FastAPI 是怎么把校验写进类型注解的
python
weilx12341 天前
C++笔记-文件IO-<fcntl.h>
c++
小羊没烦恼!1 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
qq_426003961 天前
启动playwright录制codegen生成自动化测试脚本
python·自动化
虎头金猫1 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
长沙三为智能科技1 天前
家政小程序开发从0到上线:五阶段交付流程与验收清单
python
伞伞悦读1 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
猎头南楼1 天前
知识社区推荐系统实践:新用户冷启动与长短期兴趣建模的挑战 资深推荐算法工程师
人工智能·深度学习·算法·机器学习
Smileyqp沛沛1 天前
前端?C++ ?较大差异基础罗列
c++·基础·前端转c++