力扣HOT100 - 200. 岛屿数量

解题思路:

岛屿题目一般使用dfs。

1.判断是否越界

2.用0,1,2三个状态标识当前格子的状态(三个状态比两个状态更清晰)

3.向周围四个方向遍历

class Solution {public int numIslands(char[][] grid) {int cnt = 0;for (int i = 0; i < grid.length; i++) {for (int j = 0; j < grid[0].length; j++) {if (grid[i][j] == '1') {dfs(grid, i, j);cnt++;}}}return cnt;}public void dfs(char[][] grid, int i, int j) {if (i < 0 || j < 0 || i >= grid.length || j >= grid[0].length || grid[i][j] == '0' || grid[i][j] == '2') return;grid[i][j] = '2';dfs(grid, i + 1, j);dfs(grid, i - 1, j);dfs(grid, i, j + 1);dfs(grid, i, j - 1);}
}

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

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

相关文章

如何在PostgreSQL中创建并使用窗口函数来进行复杂的分析查询?

文章目录 解决方案1. 了解窗口函数的基本概念2. 常用的窗口函数3. 使用示例示例 1&#xff1a;计算每行销售数据的累计销售额示例 2&#xff1a;计算每行销售数据相对于前一行销售额的增长率 结论 PostgreSQL 提供了一套强大的窗口函数&#xff08;Window Functions&#xff09…

用Python绘制了几张有趣的可视化图表

流程图存在于我们生活的方方面面&#xff0c;对于我们追踪项目的进展&#xff0c;做出各种事情的决策都有着巨大的帮助&#xff0c;而对于的Python而言呢&#xff0c;绘制流程图也是十分轻松的&#xff0c;今天小编就来为大家介绍两个用于绘制流程图的模块&#xff0c;我们先来…

FebHost:注册国外域名优先考虑可用性还是成本?

在选择域名后缀时&#xff0c;应该优先考虑可用性还是成本&#xff1f;这主要取决于您的具体情况。这两个因素都很重要&#xff0c;您应根据自己的需求进行权衡。 可用性方面&#xff1a;热门的域名后缀&#xff0c;如.com和.net&#xff0c;通常需求量较大&#xff0c;因此可…

1.C++入门(上)

目录 1.C关键字 2.命名空间 作用域方面的优化 a.命名空间定义 b.命名空间使用 3.C 输入&输出 1.C关键字 C有63个关键字&#xff0c;C语言有32个关键字&#xff0c;存在重叠如荧光笔标出 2.命名空间 作用域方面的优化 如果变量&#xff0c;函数和类的名称都存在于全…

(超全)python图像处理详细解析(1)

图像处理 skimage包的子模块1.读取图像2.图像灰度处理3.加载程序自带图像4.查看存储路径5.保存图片6.图片信息7.输出小猫图片的G通道中的第20行30行列的像素值8.显示红色单通道图片9.对小猫图片添加椒盐噪声10.高斯去噪11.中值滤波去噪12.随机生成噪声点13.对小猫图像进行裁剪1…

平抑风电波动的电-氢混合储能容量优化配置

这篇论文中的EMD分解法在非线性扰动信号分解上优于小波分解法,EMD分解出来的imf各频次信号,继而利用C2F实现信号重构,根据最大波动量限值剔除出需要储能平抑的波动量,继而用超级电容实现平抑(论文中用的碱水电解槽+燃料电池我认为有很多个点可以佐证不合适,但是电制氢是热…

数据库工程师的工作职责(合集)

数据库工程师的工作职责1 职责&#xff1a; 1. 日常数据库的基本安装&#xff0c;维护&#xff0c;升级&#xff0c;监控的; 2. 配合研发部门进行数据库设计支持&#xff0c;协助开发、设计和进行SQL语言优化; 3. 配合相关部门数据库相关的任务&#xff0c;比如数据导入导出&am…

Unity 实现原神中的元素反应

一、元素反应 原神中共有七种元素&#xff0c;分别是水、火、冰、岩、风、雷、草。这七种元素能互相作用 Demo下载&#xff1a;Download 元素反应表格图示&#xff0c;可能不够精准 /火水雷冰草岩风绽放原激化火/蒸发超载融化燃烧结晶扩散烈绽放/水蒸发/感电冻结/碎冰绽放结晶…

tomcat服务器日志记录文件说明和问题初筛

目录 1.认识tomcat服务器日志文件2.SpringBoot项目开启记录日志文件3.根据实验4.Spring Boot和MyBatis框架的日志输出5.部署在tomcat服务器上&#xff0c;控制台输出内容在哪6.程序运行报错输出7.记录访问Tomcat服务器的所有HTTP请求信息8.记录tomcat内部程序错误&#xff0c;如…

深度学习-自动求导

目录 向量链式法则标量链式法则 拓展到向量例题1例题2 符号求导数值求导自动求导计算图自动求导的两种模式链式法则正向累积&#xff08;从x出发&#xff09;反向累积&#xff08;反向传递--先计算最终的函数即y&#xff09;反向累积总结 自动求导计算y关于x的梯度&#xff0c;…

C++初阶之入门

零、什么是C C是基于C语言而产生的&#xff0c;它既可以进行C语言的过程化程序设计&#xff0c;又可以进行以抽象数据类型为特点的基于对象的程序设计&#xff0c;还可以进行面向对象的程序设计。 C缺点之一&#xff0c;是相对许多语言复杂&#xff0c;而且难学难精。许多人说学…

C++11 数据结构7 队列的链式存储,实现,测试

前期考虑 队列是两边都有开口&#xff0c;那么在链式情况下&#xff0c;线性表的链式那一边作为对头好呢&#xff1f; 从线性表的核心的插入和删除算法来看&#xff0c;如果在线性表链表的头部插入&#xff0c;每次循环都不会走&#xff0c;但是删除的时候&#xff0c;要删除线…