题目:
给定一个 row x col 的二维网格地图 grid ,其中:grid[i][j] = 1 表示陆地, grid[i][j] = 0 表示水域。

网格中的格子 水平和垂直 方向相连(对角线方向不相连)。整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一个或多个表示陆地的格子相连组成的岛屿)。

岛屿中没有“湖”(“湖” 指水域在岛屿内部且不和岛屿周围的水相连)。格子是边长为 1 的正方形。网格为长方形,且宽度和高度均不超过 100 。计算这个岛屿的周长。


思路:
如何将周长与DFS联系起来?参考题解:https://leetcode-cn.com/problems/number-of-islands/solution/dao-yu-lei-wen-ti-de-tong-yong-jie-fa-dfs-bian-li-/

解答:

class Solution:def islandPerimeter(self, grid: List[List[int]]) -> int:directions=[[-1,0],[1,0],[0,-1],[0,1]]m=len(grid)n=len(grid[0])def InArea(r,c):if 0<=r<m and 0<=c<n:return Truereturn False#返回(r,c)所在岛屿的周长def dfs(r,c):if not InArea(r,c):return 1#若当前格子为海洋if grid[r][c]==0:return 1#若当前格子为已遍历过的陆地if grid[r][c]==2:return 0grid[r][c]=2return sum([dfs(r+dr,c+dc) for dr,dc in directions])                for i in range(m):for j in range(n):if grid[i][j]==1:return dfs(i,j)

【网格问题】leecode463. 岛屿的周长相关推荐

  1. Leetcode刷题 463题:岛屿的周长(基于Java语言)

    ** Leetcode刷题 463题:岛屿的周长(基于Java语言) ** 一. 题目描述: 给定一个包含 0 和 1 的二维网格地图,其中 1 表示陆地 0 表示水域. 网格中的格子水平和垂直方向相 ...

  2. 463. Island Perimeter 岛屿的周长

    给定一个包含 0 和 1 的二维网格地图,其中 1 表示陆地 0 表示水域. 网格中的格子水平和垂直方向相连(对角线方向不相连).整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一个或多个表示陆地 ...

  3. [Swift]LeetCode463. 岛屿的周长 | Island Perimeter

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...

  4. 463. 岛屿的周长

    给定一个 row x col 的二维网格地图 grid ,其中:grid[i][j] = 1 表示陆地, grid[i][j] = 0 表示水域. 网格中的格子 水平和垂直 方向相连(对角线方向不相连 ...

  5. leetcode 463. 岛屿的周长

    给定一个包含 0 和 1 的二维网格地图,其中 1 表示陆地 0 表示水域. 网格中的格子水平和垂直方向相连(对角线方向不相连).整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一个或多个表示陆地 ...

  6. LeetCode(463)——岛屿的周长(JavaScript)

    给定一个包含 0 和 1 的二维网格地图,其中 1 表示陆地 0 表示水域. 网格中的格子水平和垂直方向相连(对角线方向不相连).整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一个或多个表示陆地 ...

  7. 【LeetCode】岛屿(周长、数量、最大面积、封闭岛屿数)

    文章目录 岛屿的周长★ 岛屿数量★★ 岛屿数量Ⅱ★★★ 岛屿的最大面积★★ 统计封闭岛屿的数目★★ 岛屿的周长★ LeetCode463. 岛屿的周长 [题目]给定一个 row x col 的二维网格 ...

  8. 岛屿周长c语言,岛屿的周长 --leetcode刷题,golang实现

    给定一个包含 0 和 1 的二维网格地图,其中 1 表示陆地 0 表示水域. 网格中的格子水平和垂直方向相连(对角线方向不相连).整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一个或多个表示陆地 ...

  9. 岛屿数量JAVA_LeetCode刷题 463. Island Perimeter 岛屿的周长 Java

    LeetCode刷题 463. Island Perimeter 岛屿的周长 Java LeetCode刷题 463. Island Perimeter 岛屿的周长 Java 题目介绍 链接:http ...

最新文章

  1. DOS内核学习 - DOS专用中断
  2. 与虫子尾交3d动画网站_PPT中最酷的效果 —— 3D模型全解
  3. Android中利用Jsoup让WebView清除Html标签并让图片适应大小并居中
  4. swing JTable 更新数据
  5. Vue.config.productionTip = false
  6. 最简单的docker教程:在docker里运行nginx服务器
  7. 工程师必备:C/C 单元测试万能插桩工具
  8. python文字竖排的2种实现方法
  9. 大数据学习——yarn集群启动
  10. java序列化方式性能比较
  11. 解决maven打包编译出现File encoding has not been set问题
  12. Javascript匿名类
  13. 奇门遁甲排盘方:定局
  14. freemarker模板中long类型问题
  15. vue实现v-chart绑定数据
  16. 关于修改ico图片位深度的方法
  17. Failed to push the item
  18. 10强出炉 | 香港科大-杰瑞集团 2022【人工智能】百万奖金国际创业大赛半决赛成功举办...
  19. IP routing not enabled 是没有开启routing功能 只要 执行 ip routing 就可以
  20. js 打开新页面(网址)

热门文章

  1. Typora的安装与配置
  2. 计算机老师一句话,给老师的一句话
  3. CSDN超级实习生,五步助力高薪offer
  4. 删除重复的数据(完全一致的重复)
  5. 基于Java的二手交易市场系统设计与实现
  6. 百度上线“濒危物种AI守护官”:用科技为文明护航
  7. mysql安装与卸载
  8. 哈佛大学开放课程:《公正:该如何做是好?》第1课
  9. php中empty方法,关于php的empty函数
  10. 二次元个人团队介绍页HTML源码黑夜主权+UI超好看