当前位置: 首页 > news >正文

力扣 岛屿数量

从某个点找,不断找相邻位置。

题目

岛屿中被“0”隔开后 ,是每一小块状的“1”,本题在问有多少块。可以用dfs进行搜索,遍历每一个点,把每一个点的上下左右做搜索检测,当检测到就标记为“0”表示已访问过,直到搜不到“1”,然后搜索完后数量加一即找到一块了。这样的方式看起来像是一种连线的方式,一般遍历会从第一个点开始找,然后找临近点,找到有就连起来一块。然后数一下有几块,就是有几个网格中的岛屿了。

时间复杂度:O(MN),空间复杂度:O(MN)。

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;}
}

相关文章:

力扣 岛屿数量

从某个点找&#xff0c;不断找相邻位置。 题目 岛屿中被“0”隔开后 &#xff0c;是每一小块状的“1”&#xff0c;本题在问有多少块。可以用dfs进行搜索&#xff0c;遍历每一个点&#xff0c;把每一个点的上下左右做搜索检测&#xff0c;当检测到就标记为“0”表示已访问过&a…...

【前端动效】HTML + CSS 实现打字机效果

目录 1. 效果展示 2. 思路分析 2.1 难点 2.2 实现思路 3. 代码实现 3.1 html部分 3.2 css部分 3.3 完整代码 4. 总结 1. 效果展示 如图所示&#xff0c;这次带来的是一个有趣的“擦除”效果&#xff0c;也可以叫做打字机效果&#xff0c;其中一段文本从左到右逐渐从…...

期刊(中英),期刊分区,期刊所在数据库(中英),出版商区别和联系

目录 对期刊、分区、数据库、出版商整体了解期刊&#xff08;中英&#xff09;期刊分区期刊所在数据库总结 出版商 对期刊、分区、数据库、出版商整体了解 下图是我对这四部分的一个理解&#xff0c;其中期刊根据论文使用语言分为中英两种&#xff0c;期刊分区是用来评判论文质…...

LLM中temperature参数设置为0

LLM中 temperature参数设置为0 当模型的temperature参数设置为0时&#xff0c;通常有以下含义&#xff1a; 解码策略角度 意味着采用贪婪解码&#xff08;greedy decoding&#xff09;策略。在每一步生成文本时&#xff0c;模型会选择概率最高的词元&#xff0c;从而使输出具…...

Javase 基础复习 函数式接口 lambda表达式 方法应用

目录 案例1 案例2 1. 函数式接口 (Functional Interface) 特点&#xff1a; 示例&#xff1a; Java 8 引入了几个常用的函数式接口&#xff1a; 2. Lambda 表达式 语法解析&#xff1a; 示例&#xff1a; 3. 方法引用 (Method References) 示例&#xff1a; 4. 方法…...

【39. 组合总和 中等】

题目&#xff1a; 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target &#xff0c;找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 &#xff0c;并以列表形式返回。你可以按 任意顺序 返回这些组合。 candidates 中的 同一个 数字可以 无限…...

UE小白学习日记

Level UE中的Level(关卡)和Unity中的Scene(场景)在概念和用途上非常相似,都是用来组织和管理3D环境的基本单位。让我为您详细对比一下: 相似之处: 它们都是游戏世界的容器,可以包含游戏对象、光照、地形等元素都支持场景/关卡的切换和加载都可以用来划分游戏内容,比如不同关…...

补充之前的一篇 MySQL 的索引为什么能加快查询速度

在之前的一篇文章中写了 MySQL 的索引为什么能加快查询速度&#xff0c;结合这两篇文章&#xff0c;相信你会对 MySQL 的索引有更深一步的了解 ​首先我们要理解一件事&#xff0c;无论什么数据库&#xff0c;它的数据一定都是存储在硬盘中的&#xff0c;而硬盘和内存之间的读…...

GoLand下载安装教程

一、goland环境配置 1.下载地址 https://golang.google.cn/dl/ 2.下载安装 3.添加环境变量 4.测试环境变量 输出Hello,World! 说明环境配置成功 二、goland安装 1.下载安装 https://www.jetbrains.com/go/download/download-thanks.html 2.激活使用 SFXUSA86FM-eyJsaWNlbnNl…...

GAN的应用

5、GAN的应用 ​ GANs是一个强大的生成模型&#xff0c;它可以使用随机向量生成逼真的样本。我们既不需要知道明确的真实数据分布&#xff0c;也不需要任何数学假设。这些优点使得GANs被广泛应用于图像处理、计算机视觉、序列数据等领域。上图是基于GANs的实际应用场景对不同G…...

[石榴翻译] 维吾尔语音识别 + TTS语音合成

API网址 丝路AI平台 获取 Access token 接口地址&#xff1a;https://open.xjguoyu.cn/api/auth/oauth/token&#xff0c;请求方式&#xff1a;GET&#xff0c;POST Access token是调用服务API的凭证&#xff0c;调用服务API之前需要获取 token。每次成功获取 token 以后只有…...

PHP Filesystem:深入解析与实战应用

PHP Filesystem:深入解析与实战应用 引言 PHP作为一种流行的服务器端编程语言,提供了强大的文件系统操作功能。本文将深入探讨PHP的Filesystem函数,这些函数允许开发者访问和操作服务器上的文件系统。无论是进行基本的文件操作,还是实现复杂的文件管理系统,PHP的Filesys…...

仓颉笔记——写一个简易的web服务并用浏览器打开

创建一个web服务端&#xff0c;同时创建一个客户端去读取这个服务端。 也满足浏览器打开web的需求。 直接上代码。 import net.http.* import std.time.* import std.sync.* import std.log.LogLevel// 1. 构建 Server 实例 let server ServerBuilder().addr("127.0.0.1&…...

yolov5+colab跑起来

教程1.先上传网盘再run 教程2.直接上传解压run 本人过程...

Windows下安装最新版的OpenSSL,并解决OpenSSL不是当前版本的问题,或者安装不正确的问题

文章目录 1. 文章引言1.1 需求描述1.2 简单介绍1.3 支持平台1.4 源码地址1.5 组件介绍2. 下载OpenSSL3. 安装OpenSSL5. 查看安装目录6. 解决OpenSSL的错误1. 文章引言 1.1 需求描述 今天接到一需求,解密php加密后的数据,由于php使用 openssl_encrypt的方式加密,java也需要使…...

HTML5 网站模板

HTML5 网站模板 参考 HTML5 Website Templates...

代码随想录算法训练营第三十二天|509.斐波那契数、70.爬楼梯、746.使用最小花费爬楼梯

目录 509.斐波那契数 动态规划五部曲&#xff1a; 1.确定dp数组&#xff08;dp table&#xff09;以及下标的含义 2.确定递推公式 3.dp数组如何初始化 4.确定遍历顺序 5.举例推导dp数组 70.爬楼梯 动态规划五部曲&#xff1a; 1.确定dp数组&#xff08;dp table&#xff09;…...

<C++学习>C++ Boost 数学与科学计算教程

C Boost 数学与科学计算教程 Boost 提供了强大的数学与科学计算功能模块&#xff0c;包括常用数学函数、特殊函数、矩阵运算、随机数生成器、统计分析工具等。这些工具覆盖了从基本数学操作到复杂科学计算的广泛场景。 1. Boost.Math 简介 Boost.Math 提供了丰富的数学功能&a…...

Spring Framework 5.3.x源码构建 (jdk-1.8, gradle 7.5.1, idea2024.3)

1、下载jdk安装并配置环境变量&#xff08;自行百度&#xff09; https://www.oracle.com/java/technologies/downloads/#java8 2、下载spring-framework源码&#xff0c;切换分支到5.3.x https://github.com/spring-projects/spring-framework.git 备用地址 https://gitco…...

有心力场的两体问题

有心力场中的两体问题是经典力学中的重要研究对象,中心力场问题通常涉及两个相互作用的物体(例如行星与恒星、电子与原子核等)。为了简化分析,问题往往可以转化为一个等效的单体问题。这种方法大大提高了问题的可解性,是解决两体和多体问题的基础步骤之一。将两体问题简化…...

【Pandas】pandas Series rdiv

Pandas2.2 Series Binary operator functions 方法描述Series.add()用于对两个 Series 进行逐元素加法运算Series.sub()用于对两个 Series 进行逐元素减法运算Series.mul()用于对两个 Series 进行逐元素乘法运算Series.div()用于对两个 Series 进行逐元素除法运算Series.true…...

Openstack持久存储-Swift,Cinder,Manila三者之间的区别

总结不易&#xff0c;给个三连吧&#xff01;&#xff01;&#xff01; 补充&#xff1a; 文件共享存储服务Manila 在OpenStack生态系统中&#xff0c;Cinder和Manila分别提供了两种不同类型的存储服务&#xff0c;类似于传统的SAN&#xff08;存储区域网络&#xff09;和NAS&…...

单片机(MCU)-简单认识

简介&#xff1a; 内部集成了CPU&#xff0c;RAM&#xff0c;ROM&#xff0c;定时器&#xff0c;中断系统&#xff0c;通讯接口等一系列电脑的常用硬件功能。 单片机的任务是信息采集&#xff08;依靠传感器&#xff09;&#xff0c;处理&#xff08;依靠CPU&#xff09;&…...

Redis常见知识点

1、什么是缓存穿透&#xff1f; 缓存穿透是指查询一定某个key是否存在&#xff0c;每次不存在都查询DB会把DB压垮。 解决方案的话&#xff0c;我们通常都会用布隆过滤器来解决。 布隆过滤器&#xff1a;在查找一个数是否在一个集合中使用的&#xff0c;通过对数组长度取模&a…...

SQL进阶实战技巧:统计相同时刻多地登陆的用户?

目录 0 问题描述 1 数据准备 2 代码实现 3 问题拓展 3.1 查询每个用户登录日期的最大空档期...

【数据库初阶】表的增删改语句

&#x1f389;博主首页&#xff1a; 有趣的中国人 &#x1f389;专栏首页&#xff1a; 数据库初阶 &#x1f389;其它专栏&#xff1a; C初阶 | C进阶 | 初阶数据结构 亲爱的小伙伴们&#xff0c;大家好&#xff01;在这篇文章中&#xff0c;我们将深入浅出地为大家讲解 MySQL…...

水水水水水水

为了拿推广卷&#xff0c;但不想把我原本完整的文章拆成零散的多篇&#xff0c;只能出此下策随便发一篇&#xff0c;认真写的都笔记专栏里 网络技术&#xff1a;数字时代的基础设施 在当今社会&#xff0c;网络技术无疑是推动现代生活和经济发展的核心动力之一。从简单的信息传…...

基于STM32的智能电表可视化设计:ESP8266、AT指令集、python后端Flask(代码示例)

一、项目概述 随着智能家居的普及&#xff0c;智能电表作为家庭用电管理的重要工具&#xff0c;能够实时监测电流、电压及功率&#xff0c;并将数据传输至后台进行分析和可视化。本项目以STM32C8T6为核心&#xff0c;结合交流电压电流监测模块、ESP8266 Wi-Fi模块、OLED显示屏…...

SpringBoot的@Scheduled和@Schedules有什么区别

Scheduled 的详细解析 参数详解 cron: 使用Cron表达式来指定复杂的调度模式。Cron表达式的格式如下&#xff1a; 秒&#xff08;0-59&#xff09;分钟&#xff08;0-59&#xff09;小时&#xff08;0-23&#xff09;日&#xff08;1-31&#xff09;月&#xff08;1-12 或 JAN-…...

Qiskit快速编程探索(进阶篇)

五、量子电路模拟:探索量子世界的虚拟实验室 5.1 Aer模拟器:强大的模拟引擎 在量子计算的探索旅程中,Aer模拟器作为Qiskit的核心组件之一,宛如一座功能强大的虚拟实验室,为开发者提供了在经典计算机上模拟量子电路运行的卓越能力。它打破了硬件条件的限制,使得研究者无…...

【漫话机器学习系列】043.提前停止训练(Early Stopping)

提前停止训练&#xff08;Early Stopping&#xff09; 提前停止&#xff08;Early Stopping&#xff09; 是一种在训练机器学习模型&#xff08;尤其是深度学习模型&#xff09;时常用的正则化技术&#xff0c;用于防止过拟合并提升模型的泛化能力。它通过监控验证集的性能&am…...

Linux(上):基本知识篇

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、Linux初识1 Linux简介2 Linux学习环境配置(1)安装Linux(2)FinalShell远程连接Linux服务器二、Linux基础命令1 Linux目录结构,根目录 /2 Linux命令基础(1)什么是命令、命令行?(2)…...

Python爬虫与1688图片搜索API接口:深度解析与显著收益

在电子商务的浩瀚海洋中&#xff0c;数据是驱动业务决策的核心引擎。阿里巴巴旗下的1688平台&#xff0c;作为全球领先的B2B在线市场&#xff0c;不仅汇聚了海量的商品信息&#xff0c;还提供了丰富的API接口&#xff0c;为开发者提供了强大的数据获取工具。本文将深入探讨1688…...

生物医学信号处理--随机信号通过线性时不变系统

本章主要讨论 (1)输出、输入间自相关函数和功率谱的关系以及两者间的互相关函数和互谱,把它们和系统的冲激响应与频率特性联系起来。这些是用于随机问题的基本关系,将分别讨论连续时间和离散时间两种情况。 (2)初步介绍一些线性系统在处理随机信号时的应用。但是,应该指出,…...

《HeadFirst设计模式》笔记(上)

设计模式的目录&#xff1a; 1 设计模式介绍 要不断去学习如何利用其它开发人员的智慧与经验。学习前人的正统思想。 我们认为《Head First》的读者是一位学习者。 一些Head First的学习原则&#xff1a; 使其可视化将文字放在相关图形内部或附近&#xff0c;而不是放在底部…...

Ubuntu更改内核

需求背景&#xff1a; 由于软件需要在较低版本或者指定版本才可以运行 版本&#xff1a; 配置文件&#xff1a; vi /etc/default/grub 启动界面&#xff1a; 可运行版本&#xff1a; 解决方案&#xff1a; 方案1、更改启动顺序 sudo vi /etc/default/grub 方案2、调整启动顺…...

广告公司咋找客户?怎么获取目标企业的采购部联系方式

在广告行业&#xff0c;获取目标企业采购部的联系方式是开展业务、拓展客户的关键一步。分享一些实用的方法&#xff0c;希望能帮到正在为获取联系方式而发愁的广告行业的朋友们。 一、利用官方网站和社交媒体平台 1. 官网 大多数企业的官方网站都会提供一些联系方式&#xf…...

个人在技术领导力方面的自我反思与提升

大家好&#xff01;我是 [数擎 AI]&#xff0c;一位热爱探索新技术的前端开发者&#xff0c;在这里分享前端和 Web3D、AI 技术的干货与实战经验。如果你对技术有热情&#xff0c;欢迎关注我的文章&#xff0c;我们一起成长、进步&#xff01; 开发领域&#xff1a;前端开发 | A…...

鸿蒙面试 2025-01-11

ArkTs 和TS的关系&#xff1f; ArkTS&#xff08;方舟开发语言&#xff09;与 TypeScript&#xff08;TS&#xff09;存在紧密联系&#xff0c;同时也有显著区别&#xff1a; 联系 语法基础&#xff1a;ArkTS 在语法层面大量借鉴了 TypeScript &#xff0c;TypeScript 里诸如…...

Vim的使用方法

Vim的使用方法 来自Linux 日常操作与基础知识 | archlinux 简明指南 终端编辑器 vim 的使用 我们需要掌握一个能在终端中进行文本编辑的软件&#xff0c;这里介绍 vim。 创建并编辑名为 hello.txt​ 的文件&#xff1a; vim hello.txt此时可以看到进入了一个空的界面&#xf…...

什么是卷积网络中的平移不变性?平移shft在数据增强中的意义

今天来介绍一下数据增强中的平移shft操作和卷积网络中的平移不变性。 1、什么是平移 Shift 平移是指在数据增强&#xff08;data augmentation&#xff09;过程中&#xff0c;通过对输入图像或目标进行位置偏移&#xff08;平移&#xff09;&#xff0c;让目标在图像中呈现出…...

Java基础:equals()方法与==的区别

1、超类Object的equals()底层原理&#xff1a; 在Object超类中已经提供了equals()方法&#xff0c;源码如下&#xff1a; public boolean equals(Object obj) { return (this obj); } 所有的对象都拥有标识&#xff08;内存地址&#xff09;和状态&#xff08;数据&a…...

备战蓝桥杯 队列和queue详解

目录 队列的概念 队列的静态实现 总代码 stl的queue 队列算法题 1.队列模板题 2.机器翻译 3.海港 双端队列 队列的概念 和栈一样&#xff0c;队列也是一种访问受限的线性表&#xff0c;它只能在表头位置删除&#xff0c;在表尾位置插入&#xff0c;队列是先进先出&…...

《分布式光纤测温:解锁楼宇安全的 “高精度密码”》

在楼宇建筑中&#xff0c;因其内部空间庞大&#xff0c;各类电器设施众多&#xff0c;如何以一种既高效又稳定&#xff0c;兼具低成本与高覆盖特性的方式&#xff0c;为那些关键线路节点开展温度监测&#xff0c;是目前在安全监测领域一项重点研究项目&#xff0c;而无锡布里渊…...

每日一题(一):识别字符串中的字符是否唯一

目录 一、前言 二、题目 三、题目分析 &#xff08;一&#xff09;明确需求 &#xff08;二&#xff09;分析思路 四、将思路转变为一个程序 C代码 C代码 注释&#xff1a; 五、总结 一、前言 作为博主在本系列文章中的第一篇文章&#xff0c;博主先对本系列做一个简单的介绍…...

【翻译】2025年华数杯国际赛数学建模题目+翻译pdf自取

保存至本地网盘 链接&#xff1a;https://pan.quark.cn/s/f82a1fa7ed87 提取码&#xff1a;6UUw 2025年“华数杯”国际大学生数学建模竞赛比赛时间于2025年1月11日&#xff08;周六&#xff09;06:00开始&#xff0c;至1月15日&#xff08;周三&#xff09;09:00结束&#xff…...

如何稳定使用 O1 / O1 Pro,让“降智”现象不再困扰?

近期&#xff0c;不少朋友在使用 O1 或 O1 Pro 模型时&#xff0c;都会碰到“降智”或“忽高忽低”的智力波动&#xff0c;比如无法识图、无法生成图片、甚至回答准确度也不稳定。面对这些问题&#xff0c;你是不是也感到头疼呢&#xff1f; 为了找到更可靠的解决办法&#xf…...

【Linux】4.Linux常见指令以及权限理解(2)

文章目录 3. Linux指令3.1 ls指令和rm指令补充3.2 man指令&#xff08;重要&#xff09;3.3cp指令&#xff08;重要&#xff09;输出重定向3.3.1ubuntu20.04如何安装tree 3.4 mv指令&#xff08;重要&#xff09;mv指令更改文件名mv指令更改目录名 如何看待指令指令的重命名3.5…...

神州数码交换机和路由器命令总结

神州数码交换机和路由器命令总结 一、神州数码交换机命令总结 1. 交换机恢复出厂设置及其基本配置. 1) //进入特权模式 2) del startup.cfg 2. Telnet方式管理交换机. 1) //进入全局配置模式 2) enable password 0 [密码] 3) Line 0 4 4) Password 0 [密码] 5) Login 3. 交换机…...

echarts: 双柱柱状图同时两侧双y轴问题

问&#xff1a; 现在又有一个问题&#xff1a;echarts双柱柱状图&#xff0c;同时左侧的y轴有刻度&#xff0c;右侧的y轴也有刻度&#xff0c;双y轴&#xff0c;y轴每一个刻度都对应虚线&#xff0c;这时候会有一个问题&#xff0c;左侧的y轴的虚线和右侧y轴的虚线没对应&…...