【深度优先搜索-简单】463. 岛屿的周长

[算法题解详细]DFS解力扣463岛屿的周长 题目 给定一个 row x col 的二维网格地图 grid ,其中:grid[i][j] = 1 表示陆地, grid[i][j] = 0 表示水域。 网格中的格子 水平和垂直 方向相连(对角线方向不相连)。整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一个或多个表示陆地的格子相连组成的岛屿)。 岛屿中没有“湖”(“湖” 指水域在岛屿内部且不和岛屿周围的水相连)。格子是边长为 1 的正方形。网格为长方形,且宽度和高度均不超过 100 。计算这个岛屿的周长。 示例1 输入:grid = [[0,1, 阅读详情

【题目】

【代码】dfs
在这里插入图片描述

class Solution:
    def islandPerimeter(self, grid: List[List[int]]) -> int:
        C=0
        visited=[[0 for i in range(len(grid[0]))] for i in range(len(grid))]
        def dfs(x,y):
            if x>=0 and x<len(grid) and y>=0 and y<len(grid[0]) and grid[x][y]==1 and visited[x][y]==0:
                visited[x][y]=1
                return [(x,y)]+dfs(x-1,y)+dfs(x+1,y)+dfs(x,y+1)+dfs(x,y-1)
            return []
        point=[]
        for i in range(len(grid)):
            for j in range(len(grid[0])):
                if grid[i][j]==1 and visited[i][j]==0:
                    temp=dfs(i,j)
                    if temp!=[]:
                        point=temp        
        for x,y in point:
            for mx,my in [(x-1,y),(x+1,y),(x,y+1),(x,y-1)]:
                if (0<=mx<len(grid) and 0<=my<len(grid[0]) and grid[mx][my]==0) or not(0<=mx<len(grid) and 0<=my<len(grid[0])):
                    C+=1
        return C

【方法2】dfs
在这里插入图片描述

class Solution:
    def islandPerimeter(self, grid: List[List[int]]) -> int:
        def dfs(grid,i,j):
            if i<0 or i>=len(grid) or j<0 or j>=len(grid[0]):
                return 1
            if grid[i][j]==0:
                return 1
            
            if grid[i][j]==2:
                return 0

            grid[i][j]=2
            return dfs(grid,i+1,j)+dfs(grid,i-1,j)+dfs(grid,i,j+1)+dfs(grid,i,j-1)

        for i in range(len(grid)):
            for j in range(len(grid[0])):
                if grid[i][j]:
                    return dfs(grid,i,j)
        return 0
FTP新手必看:vsftpd 530登录错误的8种实战解决方案(附详细配置步骤) 本文针对FTP服务配置中常见的vsftpd 530登录错误,提供了8种实战解决方案。从理解错误本质入手,系统性地排查用户列表策略、PAM认证、系统黑名单、Shell限制、目录权限及DNS解析等问题,并附有详细的配置步骤与命令,帮助新手快速定位并解决登录失败难题。 阅读详情

相关推荐

Claude Code 使用 OpenAI Codex(GPT-5.3-Codex)完整配置教程

通过 LiteLLM 可以让 Claude Code 调用任何模型,包括:OpenAIDeepSeekGemini本地模型↓↓优点:不依赖 Anthropic API可自由切换模型支持统一 AI Gateway这种“LLM Gateway 架构”正在成为 AI 开发工具的主流实践。

Jacobe_zhao的博客 1万+

LeetCode 463. 岛屿的周长(dfs, 容斥定理, 卷积运算)

力扣的一道简单题(题解被玩出了花样) 463. 岛屿的周长 文章目录力扣的一道简单题(题解被玩出了花样)题目描述示例解法一: dfs(深度优先搜索)解法二: 统计上边和左边, 然后*2解法三: 容斥定理大佬的解法: 卷积运算 题目描述 给定一个包含 0 和 1 的二维网格地图,其中 1 表示陆地 0 表示水域。 网格中的格子水平和垂直方向相连(对角线方向不相连)。 整个网格被水完全包围,但其中恰好有一个岛屿 (或者说,一个或多个表示陆地的格子相连组成的岛屿)。 岛屿中没有“湖”(“湖” 指水域在岛屿内

Wu_yongtao的博客 610

Unity抖音小游戏上架实战:从零到一,详解流程与避坑指南

本文详细介绍了Unity抖音小游戏上架的全流程,包括环境准备、SDK集成、开发者账号注册、软著申请、打包提交流程及常见问题解决方案。重点解析了抖音小游戏平台特有的配置细节和避坑技巧,帮助开发者高效完成游戏上架并优化用户体验。

weixin_33704234的博客 261

463. 岛屿的周长

LeetCode: 463. 岛屿的周长 深度优先搜索 dfs dfs代码 class Solution { public int islandPerimeter(int[][] grid) { for (int r = 0; r < grid.length; r++) { for (int c = 0; c < grid[0].length; c++) { if (

lankerens 337

MES软件:Siemens Opcenter二次开发

或者在项目中右击“引用”(References),选择“添加引用”(Add Reference),浏览并选择SDK中的DLL文件。在“签名”(Signing)选项卡中,选择“为程序集签名”(Sign the assembly),并创建一个新的强名称密钥文件。在Visual Studio中,选择“测试”(Test)菜单中的“运行所有测试”(Run All Tests)。在Visual Studio中,选择“生成”(Build)菜单中的“发布”(Publish)。按照向导的提示,选择安装路径和组件。

kkchenjj的博客 1646

在 SAP HANA XS Advanced 中用 InA 打通 Web 化分析数据访问:架构原理、部署步骤与实战指南

本文介绍了如何在SAP HANA环境中通过InA协议为XS Advanced应用和分析工具提供实时数据访问。主要内容包括:InA协议的作用是将HANA计算视图等模型通过HTTP(S)暴露为实时数据源;SAP HANA Analytics Adapter(xsahaa)是关键组件,负责协议转换和连接管理;部署包含本地和云端两种形式,均需建立XSA空间与租户数据库的映射;实施前需准备HDI容器、适配器构建和网络验证;安全方面通过XSA用户角色和HDI授权双重控制;文章还提供了与SAP Analytics Clo

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 261

LeetCode 463. 岛屿的周长 | Python

使用深度优先搜索的思路。

"大梦三千秋的博客 692

Ardupilot飞控姿态角与姿态角速度控制过程分析(超长篇)

目录 目录 摘要 1.代码控制过程分析 摘要 本节主要记录自己学习ardupilot飞控代码的姿态角速度的控制过程 1.代码控制过程分析 可以看出:AC_AttitudeControl *attitude_control; //指针对象 virtual void rate_controller_run() = 0;是AC_AttitudeContro...

陌城烟雨 1万+

Leetcode 463. 岛屿的周长 C++

Leetcode 463. 岛屿的周长 题目 给定一个包含 0 和 1 的二维网格地图,其中 1 表示陆地 0 表示水域。 网格中的格子水平和垂直方向相连(对角线方向不相连)。整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一个或多个表示陆地的格子相连组成的岛屿)。 岛屿中没有“湖”(“湖” 指水域在岛屿内部且不和岛屿周围的水相连)。格子是边长为 1 的正方形。网格为长方形,且宽度和高度均不超过 100 。计算这个岛屿的周长。 示例 : 输入: [[0,1,0,0], [1,1,1,0], [0,1

weixin_43750513的博客 364

RK3588高速接口实战-PCIE

摘要: RK3588的PCIe接口支持PCIe 3.0x4和PCIe 2.1x1/x2,具备Root Complex和Endpoint模式,适用于NVMe SSD、5G模块等高速设备。硬件设计需注意85Ω/100Ω阻抗匹配、220nF AC耦合电容及100MHz参考时钟。设备树需配置控制器节点、PHY模式和IOMMU映射(RC模式用iommu-map,EP模式用iommus)。调试时可通过lspci检查链路状态,dmesg查看训练日志,perf分析性能。常见问题包括设备识别失败(检查复位时序、PHY配置)、

weiyvyy的博客 506

汽车电子零部件(14):TMS热管理系统

TMS(thermal management system)热管理系统,这是新能源汽车诞生后随之而产生的一种新汽车零部件,一旦热管理失控会触发自燃,这种现象也是对EV来说是件头疼的事。汽车的热管理系统(TMS)是一个关键部件,有助于调节汽车电池组、车厢和其他车辆系统的温度。TMS的主要目的是在驾驶过程中保持最佳的电池性能和乘客舒适度。TMS使用各种加热和冷却系统来调节电池组和车厢的温度,并通过优化其使用,降低能耗,提高车辆的整体效率。

码农17年的博客 3166

【LeetCode】463. 岛屿的周长

题目 给定一个包含 0 和 1 的二维网格地图,其中 1 表示陆地0 表示水域。 网格中的格子水平和垂直方向相连(对角线方向不相连)。整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一个或多个表示陆地的格子相连组成的岛屿)。 岛屿中没有“湖”(“湖” 指水域在岛屿内部且不和岛屿周围的水相连)。格子是边长为 1 的正方形。网格为长方形,且宽度和高度均不超过 100 。计算这个岛屿的周长。 示例 : 输入: [[0,1,0,0], [1,1,1,0], [0,1,0,0], [1,...

jiiiiiaaaa的博客 440

S32K324 Stack异常分析及解决方案

在项目开发过程中,在一次软件变更时,调整了task优先级之后导致应用层软件中的float数据经常性的变为NAN,导致应用层功能失效。本文记录下这个bug的分析及解决过程。该问题排查了好几天,最开始正向排查不出来,差点放弃了,ETAS OS也没有人支持,只能换一种思路,通过反向推,最终定位到问题,能完美解决,还是很欣慰的。遇到问题不可怕,Bug一直都会有,主要是在解决问题中的思路和方法,不断总结积累,总会越来越好的!

赞的博客 598

Leetcode.463 岛屿的周长

方向相连(对角线方向不相连)。整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一个或多个表示陆地的格子相连组成的岛屿)。输入:grid = [[0,1,0,0],[1,1,1,0],[0,1,0,0],[1,1,0,0]]岛屿中没有“湖”(“湖” 指水域在岛屿内部且不和岛屿周围的水相连)。网格为长方形,且宽度和高度均不超过。解释:它的周长是上面图片中的 16 个黄色的边。输入:grid = [[1,0]]输入:grid = [[1]]计算这个岛屿的周长。将访问过的陆地标记为。

感觉画质不如...原神的博客 1177

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

LeetCode 463. 岛屿的周长

给定一个 row x col 的二维网格地图 grid ,其中:grid[i][j] = 1 表示陆地, grid[i][j] = 0 表示水域。网格中的格子 水平和垂直 方向相连(对角线方向不相连)。整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一个或多个表示陆地的格子相连组成的岛屿)。岛屿中没有“湖”(“湖” 指水域在岛屿内部且不和岛屿周围的水相连)。格子是边长为 1 的正方形。网格为长方形,且宽度和高度均不超过 100。计算这个岛屿的周长。

zxl1990_ok的博客 364

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

DFS、BFS求解leetcode岛屿的周长问题(Java)

每日一题

xiaoliii0401的博客 937

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Leetcode 463.岛屿的周长(Island Perimeter)

Leetcode 463.岛屿的周长 1 题目描述(Leetcode题目链接)   给定一个包含 0 和 1 的二维网格地图,其中 1 表示陆地 0 表示水域。 网格中的格子水平和垂直方向相连(对角线方向不相连)。整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一个或多个表示陆地的格子相连组成的岛屿)。 岛屿中没有“湖”(“湖” 指水域在岛屿内部且不和岛屿周围的水相连)。格子是边长为 1 的正...

qq_39378221的博客 239

leetcode 463. 岛屿的周长(bfs)

leetcode 463. 岛屿的周长(bfs) 题目描述: 给定一个包含 0 和 1 的二维网格地图,其中 1 表示陆地 0 表示水域。 网格中的格子水平和垂直方向相连(对角线方向不相连)。整个网格被水完全包围, 但其中恰好有一个岛屿(或者说,一个或多个表示陆地的格子相连组成的岛屿)。 岛屿中没有“湖”(“湖” 指水域在岛屿内部且不和岛屿周围的水相连)。 格子是边长为 1 的正方形。网格为长方形,且宽度和高度均不超过 100 。计算这个岛屿的周长。 示例 : 输入: [[0,1,0,0],

weixin_43960668的博客 395

LeetCode463求岛屿周长

我的想法 我最初的想法是求出数组中所有的1的个数,然后减去重叠的1的个数。 例如下图: 数组中1的个数为7,每条边重叠一次(因为连续,所以重叠个数为6,但是这只是小部分情况, 如果连续的1组成了正方形,那么就不是这样子),所以就是4*7-2*(7-1),但是如果数组是2*2规格,并且全是1,这种方法不适用。 所以,这种思想并不适用。 方法一、迭代 对于一个陆地格子的每条边,它被算作岛屿的周长当且仅当这条边为网格的边界或者相邻的另一个格子为水域。 因此,我们可以遍历每个陆地格子,看其四个方向是否为边界或者

一个白馒头的博客 203

[leetCode]463. 岛屿的周长

题目 链接:https://leetcode-cn.com/problems/island-perimeter 给定一个包含 0 和 1 的二维网格地图,其中 1 表示陆地 0 表示水域。 网格中的格子水平和垂直方向相连(对角线方向不相连)。整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一个或多个表示陆地的格子相连组成的岛屿)。 岛屿中没有“湖”(“湖” 指水域在岛屿内部且不和岛屿周围的水相连)。格子是边长为 1 的正方形。网格为长方形,且宽度和高度均不超过 100 。计算这个岛屿的周长。 输入:

Warms的博客 223

【深度优先搜索】leetcode 463. 岛屿的周长

使用深度优先搜索求得岛屿的周长。

lele_ne的博客 192

图论基础|841.钥匙和房间、463. 岛屿的周长

在形式上,对于每个房间 i 都有一个钥匙列表 rooms[i],每个钥匙 rooms[i][j] 由 [0,1,...,N-1] 中的一个整数表示,其中 N = rooms.length。钥匙 rooms[i][j] = v 可以打开编号为 v 的房间。给定一个 row x col 的二维网格地图 grid ,其中:grid[i][j] = 1 表示陆地, grid[i][j] = 0 表示水域。每个房间有不同的号码:0,1,2,...,N-1,并且房间里可能有一些钥匙能使你进入下一个房间。

qq_60513199的博客 1181

LeetCode463岛屿的周长islandPerimeter(dfs深度优先搜索实现))

LeetCode463岛屿的周长islandPerimeter(dfs深度优先搜索实现))java

green6tangerine的博客 251
上一篇: 【深度优先搜索-简单】733. 图像渲染、面试题 08.10. 颜色填充
下一篇: 【深度优先搜索-中等】1034. 边界着色
菜菜2022
博客等级 码龄9年 67粉丝 1033原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值