LeetCode #200 - Number of Islands

DFS深度优先搜索和BFS广度优先搜索 leetcode 200. Number of Islands【python解法】 一、深度优先搜索和广度优先搜索 DFS(Depth-First-Search),是盲目搜索算法的一种。常常用在树的遍历及图的处理上。假设当前搜索的节点记为k,深度优先搜索表示,继续探寻k节点的所有的边。搜索过程中,遇到满足条件的k+1节点,则继续搜索探寻k+1节点的所有的边。最后回溯至节点k。这个过程一直进行到已发现从源节点开始可以到达的所有节点位置。 **深度优先遍历图算法步骤: 访问起始... 阅读详情

题目描述:

Given a 2d grid map of '1's (land) and '0's (water), count the number of islands. An island is surrounded by water and is formed by connecting adjacent lands horizontally or vertically. You may assume all four edges of the grid are all surrounded by water.

Example 1:

11110
11010
11000
00000

Answer: 1

Example 2:

11000
11000
00100
00011

Answer: 3


求连通子图的个数,可以从左上角开始遍历,遇见‘1’说明是一个连通子图,然后再将和该点连通的所有‘的1’都变成‘0’,这样遇到的‘1’的个数就是连通子图的个数,同样还是用递归的方法实现对周围点的搜索。

class Solution {
public:
    int numIslands(vector<vector<char> >& grid) 
	{
		int count=0;
		int m=grid.size();
		if(m==0) return 0;
		int n=grid[0].size();
		if(n==0) return 0;
        for(int i=0;i<m;i++)
        {
        	for(int j=0;j<n;j++)
        	{
        		if(grid[i][j]=='1')
        		{
        			searchSurround(grid,i,j);
        			grid[i][j]='0';
        			count++;
        		}
        	}
        }
        return count;
    }
    
    void searchSurround(vector<vector<char> >& grid,int i,int j)
	{
		int m=grid.size();
		int n=grid[0].size();
		if(grid[i][j]!='1') return ;
		if(grid[i][j]=='1') grid[i][j]='0';
		if(i>0) searchSurround(grid,i-1,j);
		if(i+1<m) searchSurround(grid,i+1,j);
		if(j>0) searchSurround(grid,i,j-1);
		if(j+1<n) searchSurround(grid,i,j+1);
	}
};


统信UOS系统盘空间不足?5分钟搞定扩容的图形化解决方案 本文提供统信UOS系统盘空间不足的图形化扩容解决方案,使用GParted分区编辑器在不丢失数据的情况下快速完成扩容。详细步骤包括准备工作、空间调整和执行验证,适合技术用户快速解决问题。 阅读详情

相关推荐

Flink CDC 1.18.1 Oracle 数据同步到postgresql

8、修改Flink的配置文件,主要是各种服务的绑定地址,默认为localhost,统统改为0.0.0.0,如:rest.address: 0.0.0.0 #localhost。将flink-sql-connector-oracle-cdc-3.0.1.jar复制到flink-1.18.1/lib目录中。6、下载 flink-connector-jdbc-3.1.1-1.17.jar,postgresql-42.7.3.jar。7、安装postgresql就不说了,相信你已经有了数据库了。

ynzhangyao的专栏 1800

LeetCode #200 Number of Islands

Given a 2d grid map of '1's (land) and '0's (water), count the number of islands. An island is surrounded by water and is formed by connecting adjacent lands horizontally or vertically. You may assu

王旻宇 507

侧杆试验 - 高速撞击 - 显式动力学 - ANSYS Workbench

显式动力学是一种时间积分方法,用于在速度很重要时执行动态模拟。显式动力学考虑快速变化的条件或不连续事件,例如自由落体、高速撞击和施加的负载。由于这些“非线性动力学”已集成到模拟中,因此显式动力学是模拟高度瞬态物理现象的首选。有些侧面碰撞是指车辆侧向撞上路边的坚硬物体,如树木或电线杆。这通常是由于驾驶员失去控制、超速、误判拐角或在湿滑路面上打滑造成的。

jianqimingtian的博客 1289

Leetcode #200 Number of Islands

Given a 2d grid map of '1's (land) and '0's (water), count the number of islands. An island is surrounded by water and is formed by connecting adjacent lands horizontally or vertically. You may assu

每天都要有进步 300

Cartographer从安装到实战:手把手教你运行2D/3D建图与定位

本文提供了一份详尽的Cartographer从零安装到实战应用的完整指南。内容涵盖环境准备、依赖编译、源码构建等关键步骤,并手把手指导读者运行2D/3D官方数据集进行建图与定位测试。文章深入解析了参数配置与自定义数据适配方法,帮助开发者快速掌握这一强大的实时同步定位与建图工具,并将其应用于机器人导航与自动驾驶等实际场景。

rice5的博客 952

Win10家庭版如何添加本地用户和组

在众多Windows版本中,Windows 10以其丰富的功能和卓越的性能吸引了大量用户。然而,对于使用Win10家庭版的用户来说,他们可能会遇到一些功能上的限制,特别是在用户和组管理方面。虽然家庭版在某些高级功能上有所缩减,但我们仍然可以通过一些技巧来实现对本地用户和组的管理。本文将详细介绍如何在Win10家庭版中添加本地用户和组,以便用户能够更好地管理计算机资源。

nntxthml的博客 4557

[Leetcode] #200 Number of Islands

DiscriptionGiven a 2d grid map of '1's (land) and '0's (water), count the number of islands. An island is surrounded by water and is formed by connecting adjacent lands horizontally or vertically. You...

奔跑的小乌龟 320

解决LangChain4j报错HTTP/1.1 header parser received no bytes

当使用调用自己部署的大模型服务时报错: 报错信息如下:

weixin_44455388的博客 2336

LeetCode 200. Number of Islands 题解

本题是图论中连通分量计数的经典问题。遍历网格,找到未访问的陆地使用 DFS 或 BFS 标记整个岛屿统计岛屿数量。

cannonjinx的博客 1005

智慧城市项目实战:如何将你的地理数据从城市坐标系(如上海2000)转换到国家CGCS2000?

本文详细介绍了智慧城市项目中地理数据坐标系转换的全流程解决方案,重点讲解如何将城市坐标系(如上海2000)转换到国家CGCS2000。通过七参数布尔莎模型、ArcGIS Pro、QGIS开源方案及Python编程实现,帮助实施团队解决坐标系不统一的技术难题,确保空间分析精度。

weixin_28725949的博客 307

Windows11搭建GPU版本PyTorch 开发环境教程

Windows11搭建GPU版本PyTorch环境详细过程

世界那么大,我想去看看~【随心更新,看世界去了😄】 3236

Leetcode 200. Number of Islands

问题描述:找出孤岛的个数,孤岛定义为多个连接的1,被4个0包围,上下左右,如图。 问题链接200. Number of Islands 思路,一般有矩阵的题目,要么动态规划,要么深度优先搜索和广度优先搜索算法加上相应的条件变式,这个题目也是如此,不过用并差集的话会更加的容易理解,跟128. Longest Consecutive Sequence 一样,平时已经写了一个通用的Node以及并...

Za七杂⑧ 178

基于深度学习的航拍图像中地物变化检测

随着无人机技术的飞速发展,航拍图像成为获取地表信息的重要手段之一。然而,由于地球表面的不断变化,监测和识别航拍图像中的地物变化成为一项具有挑战性的任务。在人工智能领域,深度学习技术的兴起为地物变化检测提供了全新的解决方案。本文将介绍基于深度学习的航拍图像中地物变化检测的方法,并附上相应的代码实例。

一键难忘的博客 4179

LeetCode 200. 岛屿数量(Number of Islands)

易错点正确做法说明未判断边界导致数组越界加上的判断忘记标记访问的'1'或用visited集对于不同岛屿没有累加count每次 DFS 前都count += 1本题是图遍历中经典的“连通块数量”问题。DFS 和 BFS 均可解决,推荐先掌握 DFS。与本题类似的还有:被围绕的区域(LeetCode 130)太平洋大西洋水流问题(LeetCode 417)

2501_91641025的博客 820

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

200. Number of Islands Leetcode Python

Given a 2d grid map of '1's (land) and '0's (water), count the number of islands. An island is surrounded by water and is formed by connecting adjacent lands horizontally or vertically. You may assu

hyperbolechi的专栏 3383

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

LeetCode 200. 岛屿数量(Number of Islands)

LeetCode.jpg 200. 岛屿数量 200. 岛屿的个数 给定一个由 '1'(陆地)和 '0'(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的。你可以假设网格的四个边均被水包围。 示例 1: 输入: 11110 11010 11000 00000 输...

墨1024 309

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

[leetcode]200. Number of Islands

题目链接:https://leetcode.com/problems/number-of-islands/#/description Given a 2d grid map of '1's (land) and '0's (water), count the number of islands. An island is surrounded by water and is form

xiaocong1990的博客 334

leetcode 200. number-of-islands 岛屿数量 python3

时间:2020-7-11 题目地址:https://leetcode-cn.com/problems/design-circular-queue/ 题目难度:Medium 题目描述: 给你一个由'1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只能由水平方向或竖直方向上相邻的陆地连接形成。 此外,你可以假设该网格的四条边均被水包围。 示例 1: 输入: [ ['1','1','1','1','0'], ['1','1','0','1'.

isabloomingtree的博客 290

leetcode 200. Number of Islands

200. Number of Islands 题目描述 1 代表岛屿, 0 代表海洋, 1 被 0 包围算作一个岛屿. 只要1被连接, 都只能算一个岛屿. 解题思路 用DFS解题. 遍历grid所有点, 如果grid[i][j]==1, 则对grid[i][j]由四个方向进行DFS, 把所有经过的点标记为x(表示去过), 所以每次遇到grid[i][j]==1的点一定是一个新的岛屿. 代码 Pyt...

Bean771606540的博客 309

leetcode | 200. Number of Islands (并查集)

题目 Given a 2d grid map of '1’s (land) and '0’s (water), count the number of islands. An island is surrounded by water and is formed by connecting adjacent lands horizontally or vertically. You may ass...

mike_learns_to_rock的博客 429

Leetcode 刷题 - 200 - Number of Islands (*)

Given a 2d grid map of '1's (land) and '0's (water), count the number of islands. An island is surrounded by water and is formed by connecting adjacent lands horizontally or vertically. You may assu

270

[leetcode] 200. Number of Islands

Description Given a 2d grid map of '1’s (land) and '0’s (water), count the number of islands. An island is surrounded by water and is formed by connecting adjacent lands horizontally or vertically. Yo...

Learning from the mistakes 136

LeetCode 130, 200, 694, 695, 733 (“岛” 系列): DFS方法题解(python)

LeetCode 130, 200, 694, 695, 733 (“岛” 系列): DFS方法题解(python) 描述: Leetcode之中有一类题目,给定一个用二维数组表示的类似的迷宫/围棋/岛屿, 然后有诸如找有多少个岛屿(130, 200),或者有多少个不一样的岛屿(694),或者最大岛屿的面积(695)之类的要求。这些题目大体上存在三种解法: DFS(深度优先搜索),BFS(广度优先搜索),Union Find。在这里总结一下岛屿类问题的DFS方法求解。 链接: 130: Surrounde

Bourns_A的博客 547

LeetCode305. Number of Islands II - 彻底掌握并查集(Union Find)系列题5

​这道题是Leetcode200. Number of Islands的改进版,很显然可以用并查集(Union Find)来解答。唯一不同的就是陆地是随着positions数组动态增加的,每增加一块陆地就要统计当前岛屿的个数。由于我们再Union Find数据结构里维护了一个岛屿计数的变量,因此每增加一块新陆地,进行更新合并之后,我们就可以立刻得到岛屿的个数。

hgq522的博客 480

LeetCode694. Number of Distinct Islands - 彻底掌握并查集(Union Find)系列题7

​ 这道题还是Leetcode200. Number of Islands的拓展,求岛屿个数的方法一模一样,代码几乎可以重复使用。这道题的难点是,算完岛屿个数后要把形状相同的岛屿剔除,剩下的不同形状的岛屿个数。

hgq522的博客 424

[LeetCode] 200. Number of Islands

题:https://leetcode.com/problems/number-of-islands/description/ 题目 Given a 2d grid map of ‘1’s (land) and ‘0’s (water), count the number of islands. An island is surrounded by water and is formed by ...

u013383813的博客 139
上一篇: LeetCode #199 - Binary Tree Right Side View
下一篇: 证明精确的4SAT是NP_完全问题
LawFile
博客等级 码龄10年 5粉丝 627原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值