Leetcode刷题笔记题解(C++):200. 岛屿数量

思路:利用深度优先搜索的思路来查找1身边的1,并且遍历之后进行0替换防止重复dfs,代码如下所示

class Solution {
public:int numIslands(vector<vector<char>>& grid) {int row = grid.size();int col = grid[0].size();int numoflands = 0;//从第一行开始遍历,是岛屿则进行周围深度优先搜索for(int r = 0;r < row;r++){for(int c = 0;c < col;c++){if(grid[r][c] == '1'){++numoflands;dfs(grid,r,c);}}}return numoflands;}//dfs用于消除“1”旁边的“1”并用“0”替换掉防止二次遍历void dfs(vector<vector<char>>& grid,int r,int c){int nr = grid.size();int nc = grid[0].size();grid[r][c] = '0';//用“0”替换“1”,防止重复调用if(r-1>=0&&grid[r-1][c] == '1') dfs(grid,r-1,c);if(r+1<nr&&grid[r+1][c] == '1') dfs(grid,r+1,c);if(c-1>=0&&grid[r][c-1] == '1') dfs(grid,r,c-1);if(c+1<nc&&grid[r][c+1] == '1') dfs(grid,r,c+1);}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/414188.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Unity之四元数

欧拉角 万向节死锁 四元数是什么 Unity中四元数的初始化 四元数和欧拉角的互相转换 补充 四元数相乘代表旋转四元数

一张图描述Http常用状态码(301、302、305、404、408等等)

301—永久移动。被请求的资源已被永久移动位置&#xff1b; 302—请求的资源现在临时从不同的 URI 响应请求&#xff1b; 305—使用代理。被请求的资源必须通过指定的代理才能被访问&#xff1b; 307—临时跳转。被请求的资源在临时从不同的URL响应请求&#xff1b; 40…

往docker中cloudbeaver的容器添加达梦数据库、impala数据库连接支持(cloudbeaver添加自定义数据连接)

cloudbeaver默认没有开放impala连接&#xff0c;更不会支持国产数据库了 docker安装运行cloudbeaver可以参考文章&#xff1a;docker安装运行CloudBeaver并设置默认语言为中文 本文跳过cloudbeaver镜像拉取&#xff0c;直接就开始实现自定义数据库连接功能 1、初始化cloudbe…

浅谈:完成一篇论文的科研历程与经验

作者&#xff1a;彭思达 | CCF专业会员 浙江大学研究员 主要研究方向为三维计算机视觉 | 本文版权归作者所有 文章目录 引言阶段1&#xff1a;想idea阶段2&#xff1a;如何做实验阶段3&#xff1a;如何写论文 引言 完成一篇论文的常见科研历程包括三大阶段&#xff1a;想idea、…

go语言(七)----slice的声明方式

1、声明方式一 //声明一个slice1是一个切片&#xff0c;但是并没有给slice分配空间var slice1 []intslice1 make([]int,3)2、声明方式二 声明一个slice切片&#xff0c;同时给slice分配空间&#xff0c;3个空间&#xff0c;初始化值是0var slice1 []int make([]int,3)3、声…

scipy测试数据

文章目录 图像心电图 图像 scipy的datasets中提供了几组在图像和信号处理中可能会用到的数据&#xff0c;但是&#xff0c;如果想顺利使用&#xff0c;还需要安装一个scipy的依赖模块pooch pip install pooch然后就可以加载这几种数据了 from scipy.datasets import ascent,…

最多购买宝石数目 - 华为OD统一考试

OD统一考试&#xff08;C卷&#xff09; 分值&#xff1a; 100分 题解&#xff1a; Java / Python / C 题目描述 橱窗里有一排宝石&#xff0c;不同的宝石对应不同的价格&#xff0c;宝石的价格标记为 gems[i],0<i<n, n gems.length 宝石可同时出售0个或多个&#xff…

百度搜索Push个性化:新的突破

作者 | 通用搜索产品研发组 导读 本文简单介绍了百度搜索Push个性化的发展过程&#xff0c;揭示了面临的困境和挑战&#xff1a;如何筛选优质物料、如何对用户精准推荐等。我们实施了一系列策略方法进行突破&#xff0c;提出核心的解决思路和切实可行的落地方案。提升了搜索DAU…

2018年认证杯SPSSPRO杯数学建模A题(第二阶段)海豚与沙丁鱼全过程文档及程序

2018年认证杯SPSSPRO杯数学建模 基于聚类分析的海豚捕食合作策略 A题 海豚与沙丁鱼 原题再现&#xff1a; 沙丁鱼以聚成大群的方式来对抗海豚的捕食。由于水下光线很暗&#xff0c;所以在距离较远时&#xff0c;海豚只能使用回声定位方法来判断鱼群的整体位置&#xff0c;难…

亚马逊云科技 WAF 部署小指南(六)追踪 Amazon WAF Request ID,排查误杀原因

众所周知&#xff0c;中国是全球制造业的巨大力量&#xff0c;许多中国企业通过 2B 电商平台网站进行商品销售和采购。在这些电商平台上&#xff0c;Web 应用防火墙&#xff08;WAF&#xff09;成为不可或缺的安全工具。然而&#xff0c;WAF 也可能导致误杀问题。一旦误杀发生&…

#vue3 实现前端下载excel文件模板功能

一、需求&#xff1a; 前端无需通过后端接口&#xff0c;即可实现模板下载功能。 通过构造一个 JSON 对象&#xff0c;使用前端常用的第三方库 xlsx&#xff0c;可以直接将该 JSON 对象转换成 Excel 文件&#xff0c;让用户下载模板 二、效果&#xff1a; 三、源码如下&…

ARP相关

ARP报文格式&#xff1a; 目的以太网地址&#xff0c;48bit&#xff0c;发送ARP请求时&#xff0c;目的以太网地址为广播MAC地址&#xff0c;即0xFF.FF.FF.FF.FF.FF。 源以太网地址&#xff0c;48bit。 帧类型&#xff0c;对于ARP请求或者应答&#xff0c;该字段的值都为0x08…