200. 岛屿数量 leetcode
给你一个由 '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
class Solution:def dfs(self, grid, r, c):grid[r][c] = 0nr, nc = len(grid), len(grid[0])for x, y in [(r - 1, c), (r + 1, c), (r, c - 1), (r, c + 1)]:if 0 <= x < nr and 0 <= y < nc and grid[x][y] == "1":self.dfs(grid, x, y)def numIslands(self, grid: List[List[str]]) -> int:nr = len(grid)if nr == 0:return 0nc = len(grid[0])num_islands = 0for r in range(nr):for c in range(nc):if grid[r][c] == "1":num_islands += 1self.dfs(grid, r, c)return num_islands
class Solution:def dfs(self,grid,r,c):grid[r][c] =0nr,nc = len(grid),len(grid[0])for x,y in [(r-1,c),(r+1,c),(r,c-1),(r,c+1)]:if 0<= x <nr and 0<=y <nc and grid
200. 岛屿数量 leetcode相关推荐
- 广度优先搜索——岛屿数量(Leetcode 200)
题目选自Leetcode 200. 岛屿数量 经典的搜索题,求岛屿数量 这里我用的是广度优先搜索BFS 最朴素的方法, 虽然效率不高,但是简单易懂 主要的问题在于:如何确定有多少个岛屿? 每次对一个& ...
- 岛屿问题 通用解-463.岛屿周长-200.岛屿数量-695.岛屿的最大面积-827.最大人工岛
文章目录 岛屿问题 如何在网格上做DFS(通用解) 463.岛屿的周长 题目 题解 -通用模板 题解2 200.岛屿数量 题目 题解 695.岛屿的最大面积 题目 题解 827.最大人工岛 题目 题解 ...
- 力扣200岛屿数量(DFS/BFS)
200. 岛屿数量 - 力扣(LeetCode) (leetcode-cn.com) 1.DFS DFS的思路是,首先遍历整个表,找到1结果就加一,之后通过DFS将找到的1连通区域内的所有1变为0,代 ...
- 岛屿类-网格类问题-DFS | 力扣200. 岛屿数量
本文讲解200. 岛屿数量问题,属于常见的岛屿类-网格类问题 本题使用DFS的思想 1 题目 给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量. 岛屿总是被水包围, ...
- Leetcode 200.岛屿数量
Time: 20190902 Type: Medium 题目描述 给定一个由 '1'(陆地)和 '0'(水)组成的的二维网格,计算岛屿的数量.一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地 ...
- Leetcode 200. 岛屿数量 解题思路及C++实现
解题思路: 典型的深度优先搜索问题,跟第130题 被围绕的区域 有点像,只不过这里不仅要找出被水包围的岛屿,还要计算这些岛屿的总数. 使用深度优先搜索的方法,大循环是遍历整个grid数组(两个for循 ...
- leetcode 200.岛屿数量 c代码
题目如下: 给定一个由 '1'(陆地)和 '0'(水)组成的的二维网格,计算岛屿的数量.一个岛被水包围,并且它 是通过水平方向或垂直方向上相邻的陆地连接而成的.你可以假设网格的四个边均被水包围.示例一 ...
- LeetCode 200. 岛屿数量(图的遍历)
文章目录 1. 题目信息 2. 解题 2.1 DFS 2.2 BFS 1. 题目信息 给定一个由 '1'(陆地)和 '0'(水)组成的的二维网格,计算岛屿的数量.一个岛被水包围,并且它是通过水平方向或 ...
- leetcode —— 200. 岛屿数量
给定一个由 '1'(陆地)和 '0'(水)组成的的二维网格,计算岛屿的数量.一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的.你可以假设网格的四个边均被水包围. 示例 1: 输入: ...
- Leetcode 200 岛屿数量 (每日一题 20210720)
给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量.岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成.此外,你可以假设该网格的四条边均被 ...
最新文章
- 基于Service Mesh构建更现代的服务架构
- SAP模块常用增强总结
- Android-- FragmentStatePagerAdapter分页
- 腾讯最新开源IoT操作系统登上GitHub热榜,最小体积仅1.8 KB,标星1200+
- android应用开发全程实录出版
- 将应用交付服务引入到OpenStack-【中国IC微专栏】2016.6.16
- pandas基础(part3)--描述性统计
- android最新框架,XUpdate 一个轻量级、高可用性的Android版本更新框架
- 世界顶级的程序员们告诉你:这些书都是你应该读的
- pygame写游戏,常用代码记录
- jquery 鼠标移动 div内容上下或左右滚动
- 【docker】docker 实现 的基础
- 衡量视频序列特性的TI(时间信息)和SI(空间信息)
- 卷积过滤器的宽度_卷积神经网络简析
- 高级Bash脚本编程入门
- 手写bpnn算法实现iris多分类
- 两个三维向量叉积_三维向量叉乘推导
- Android Studio实现计算器功能
- 深蓝学院-多传感器融合定位课程学习分享-专栏汇总
- 新型信用卡MasterPass
热门文章
- mysqli_connect函数未开启_CRMEB打通版linux系统部署客服开启长链接不成功
- $.post 提交文件_PHP表单提交
- 不干胶设计用什么软件制作_用什么软件制作抖音短视频会比较好?
- mybatis中Mapper映射
- 使用XMLHTTP Request Object获取服务器数据
- sublime text3 eslint 安装教程
- 开启进程的两种方式:类、函数
- 基于Berkeley DB实现的持久化队列
- 程序员的恶性循环:加班-没空学习-老是写同等水平代码-无法提升代码质量-老是出BUG-老是需要修改-加班-......
- C#正则表达式获取html标签之间的内容