LeetCode刷题日志-200.岛屿数量

news/2024/12/22 23:58:00/

在这里插入图片描述

思路: 遍历二维数组,每当遇到一个‘1’进行一次dfs,根据规则,将本次dfs到的所有元素标记为‘0’(放置重复dfs,并且能dfs到的元素一定是与当前遍历到的元素属于统一岛屿。)最后,dfs的次数就是岛屿的数量。代码如下:

class Solution {void dfs(char[][] grid, int r, int c){int nr = grid.length;int nc = grid[0].length;if (r < 0 || c < 0 || r >= nr || c >= nc || grid[r][c] == '0') return;grid[r][c] = '0';dfs(grid, r - 1, c);   //上下左右属于同一岛屿dfs(grid, r + 1, c);dfs(grid, r, c - 1);dfs(grid, r, c + 1);}public int numIslands(char[][] grid) {if (grid == null || grid.length == 0) return 0;int nr = grid.length;int nc = grid[0].length;int num_islands = 0;for (int r = 0; r < nr; r++){for (int c = 0; c < nc; c++){if (grid[r][c] == '1'){num_islands++;dfs(grid, r, c);}}}return num_islands;}
}

在这里插入图片描述


http://www.ppmy.cn/news/1360373.html

相关文章

sql注入 [极客大挑战 2019]FinalSQL1

打开题目 点击1到5号的结果 1号 2号 3号 4号 5号 这里直接令传入的id6 传入id1^1^1 逻辑符号|会被检测到&#xff0c;而&感觉成了注释符&#xff0c;&之后的内容都被替换掉了。 传入id1|1 直接盲注比较慢&#xff0c;还需要利用二分法来编写脚本 这里利用到大佬的脚…

LiveQing视频点播流媒体RTMP推流服务功能-支持配置开启 HTTPS 服务什么时候需要开启HTTPS服务

LiveQing视频点播流媒体RTMP推流服务功能支持配置开启 HTTPS 服务什么时候需要开启HTTPS服务 1、配置开启HTTPS1.1、准备https证书1.1.1、选择Nginx类型证书下载 1.2、配置 开启 HTTPS1.2.1 web页面配置1.2.2 配置文件配置 2、验证HTTPS服务3、为什么要开启HTTPS3.1、安全性要求…

关于git子模块实践(一)

背景 在日常项目开发中&#xff0c;随着项目的迭代&#xff0c;不可避免的是主项目会引入到很多三方库&#xff0c;或者自研的一些模块。有一种场景&#xff0c;就是这些模块&#xff0c;是随着开发而进行迭代&#xff0c;且多个项目公用的&#xff0c;这种情况&#xff0c;在…

第二节-安装docker

一、卸载docker yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-selinux \ docker-engine-selinux \ docker-engine \ docker-ce 二、安装docker yum -y install yum-uti…

java——特殊文件日志技术

目录 特殊文件Properties文件XML文件XML文件有如下的特点XML的作用和应用场景解析XML文件 日志技术概述日志技术的体系结构Logback日志框架概述快速入门核心配置文件logback.xml日志级别项目中使用日志框架 特殊文件 Properties文件 后缀为.properties的文件&#xff0c;称之…

JLU吉林大学操作系统名词解释

进程 具有一定独立功能的程序关于一个数据集合的一次运行活动。是资源的分配单位。线程 又叫轻进程&#xff0c;是进程内的一个相对独立的执行流。是cpu的调度单位。忙式等待 不进入等待状态的等待叫做忙式等待&#xff0c;进程并未真正的等待状态&#xff0c;实际为运行态或者…

致CentOS 7普通用户之装机初始化说明

一&#xff1a;CentOS 7安装盘制作 1.准备&#xff1a;linux操作系统安装包&#xff0c;百度搜索下载&#xff1a;CentOS 7。&#xff08;一般安装包&#xff0c;包含CentOS 7全系列版本&#xff0c;自己选择安装配置&#xff09; 2.准备&#xff1a;rufus.exe安装盘制作软件…

Java面试问题集锦

1.JDK、JRE、JVM 三者有什么关系&#xff1f; JDK&#xff08;全称 Java Development Kit&#xff09;&#xff0c;Java开发工具包&#xff0c;能独立创建、编译、运行程序。 JDK JRE java开发工具&#xff08;javac.exe/java.exe/jar.exe) JRE&#xff08;全称 Java Runtim…