【力扣】200.岛屿数量(染色法DFS深搜)
岛屿数量
题目描述
链接:力扣:200.岛屿数量
给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。
岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。。
此外,你可以假设。网格的四条边均被水包围。
思路染色法
遇到一个岛屿,就将相邻的岛屿全部设置为'0',然后答案加1。
几个细节的处理
- 要先去判断当前的图格类型,再去判断是否返回, 否则遇到只有
一个图格答案就是0 - 搜索时要注意先搜索左下角
代码
class Solution {
public:int m, n, res;int vx[4] = {0, -1, 1, 0};int vy[4] = {-1, 0, 0, 1};vector<vector<char>> g;vector<vector<bool>> state;int numIslands(vector<vector<char>>& grid) {res = 0;g = grid;m = grid.size();n = grid[0].size();state.resize(m, vector<bool>(n, false));dfs(0, 0, 1);return res;}inline void dfs(int x, int y, int u) {state[x][y] = true;if (g[x][y] == '1') {res += 1;del(x, y);}if (u == m*n) {return;}for (int i = 0; i < 4; i++) {int nx = x + vx[i], ny = y + vy[i];if (nx < 0 || ny < 0 || nx >= m || ny >= n) {continue;}if (state[nx][ny] == false) {dfs(nx, ny, u+1);}}}inline void del(int x, int y) {g[x][y] = '0';for (int i = 0; i < 4; i++) {int nx = x + vx[i], ny = y + vy[i];if (nx < 0 || ny < 0 || nx >= m || ny >= n) {continue;}if (g[nx][ny] == '1') {del(nx, ny);}}return;}
};
相关文章:
【力扣】200.岛屿数量(染色法DFS深搜)
岛屿数量 题目描述 链接:力扣:200.岛屿数量 给你一个由 1(陆地)和 0(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆…...
达梦配置ODBC连接
达梦配置ODBC连接 基础环境 操作系统:Red Hat Enterprise Linux Server release 7.9 (Maipo) 数据库版本:DM Database Server 64 V8 架构:单实例1 下载ODBC包 下载网址:https://www.unixodbc.org/ unixODBC-2.3.0.tar.gz2 编译并…...
独孤思维:高客单价项目,必须来一个
01 上次和水龙聊完以后,完成了图书电商项目小报童的梳理。 而且还让我规划后端低转高产品的设计。 目前独孤,准备以图书电商项目私教作为切入点,捆绑自己的合伙人。 设计高客单价项目。 所以,独孤4月的副业规划目标ÿ…...
学习java第三十二天
Spring 会利用AutowiredAnnotationBeanPostProcessor.postProcessMergedBeanDefinition() 找出注入点并缓存, 找注入点的流程为: 遍历当前类的所有的属性字段 Field 查看字段上是否存在 Autowired、Value、Inject 中的其中任意一个,存在则认…...
力扣150. 逆波兰表达式求值
思路:又是有消消乐的感觉,只不过这里是遇到一个操作符号,就消掉两个数字合并成一个新数;所以想到用栈结构来处理;用一个栈来放当前遍历过的数字,当遍历遇到操作符时,就把前面最新入栈的两个数取…...
hololens 2 投屏 报错
使用Microsoft HoloLens投屏时,ip地址填对了,但是仍然报错,说hololens 2没有打开, 首先检查 开发人员选项 都打开,设备门户也打开 然后检查系统–体验共享,把共享都打开就可以了...
初次在 GitHub 建立仓库以及公开代码的流程 - 公开代码
初次在 GitHub 建立仓库以及公开代码的流程 - 公开代码 References 在已有仓库中添加代码并公开。 git clone 已有仓库 将已有仓库 clone 到本地的开发环境中。 strongforeverstrong:~$ mkdir github_work strongforeverstrong:~$ cd github_work/ strongforeverstrong:~/git…...
论文笔记 - :MonoLSS: Learnable Sample Selection For Monocular 3D Detection
论文笔记✍MonoLSS: Learnable Sample Selection For Monocular 3D Detection 📜 Abstract 🔨 主流做法限制 : 以前的工作以启发式的方式使用特征来学习 3D 属性,没有考虑到不适当的特征可能会产生不利影响。 🔨 本…...
LVS、HAProxy
集群:将很多个机器组织到一起,作为一个整体对外提供服务。集群在扩展性、性能方面都可以做到很灵活。集群的分类:负载均衡集群:Load Balance。高可用集群:High Available。高性能集群:High Performance Com…...
开发环境->生产环境
1、数据迁移 不涉及docker # 以数据库用户导出数据 mysqldump -h 192.168.1.168 -P 3307 -u abragent -pabragebb17 abragent > abragent.sql# 以root用户导出数据 mysqldump -h 192.168.1.168 -P 3307 -u root -p8d3Ba1b abragent > abragent.sql 涉及docker …...
基于AI智能识别技术的智慧展览馆视频监管方案设计
一、建设背景 随着科技的不断进步和社会安全需求的日益增长,展览馆作为展示文化、艺术和科技成果的重要场所,其安全监控系统的智能化升级已成为当务之急。为此,旭帆科技(TSINGSEE青犀)基于视频智能分析技术推出了展览…...
Leetcode-894-所有可能的真二叉树-c++
题目详见https://leetcode.cn/problems/all-possible-full-binary-trees/ 主搞动态规划,因为这玩意儿我还不是很懂 关于节点个数为奇数偶数的证明请见官方题解方法一中的如下内容: 这里DP的一个主要思想是:对于任何一个满二叉树ÿ…...
Django DRF视图
文章目录 一、DRF类视图介绍APIViewGenericAPIView类ViewSet类ModelViewSet类重写方法 二、Request与ResponseRequestResponse 参考 一、DRF类视图介绍 在DRF框架中提供了众多的通用视图基类与扩展类,以简化视图的编写。 • View:Django默认的视图基类&…...
SQLite全文搜索引擎:实现原理、应用实践和版本差异
文章目录 一、实现原理1.1 倒排索引1.2 虚拟表 二、应用在工程上的实施方法2.1 创建FTS虚拟表2.2 插入数据2.3 全文搜索2.4 关联普通表2.5 更新和删除数据2.6 优化FTS虚拟表2.7 小结 三、FTS3、FTS4和FTS5的区别3.1 FTS33.2 FTS43.3 FTS53.4 小结 四、更新SQLite的FTS版本的步骤…...
day17-二叉树part04
110.平衡二叉树 (优先掌握递归)后序遍历 左右中 class Solution {public boolean isBalanced(TreeNode root) {return getHeight(root) ! -1;}//递归三部曲 确定方法的参数与返回值private int getHeight(TreeNode root){//明确终止条件if(root null){r…...
书生浦语第一次课
模型的发展 从专业模型到通用模型 书生浦语大模型全链路开源体系 2023.06.07 -> InternLM千亿参数语言大模型发布 2023.07.06 -> InternLM千亿参数语言大模型全面升级,支持8K语境、26种语言。全面开源、免费商用:InternLM-7B、全链条开源工具…...
UE小:UE5.3无法创建C++工程
当您在使用Unreal Engine (UE) 构建项目时,如果遇到以下问题: Running C:/Program Files/Epic Games/UE\_5.3/Engine/Build/BatchFiles/Build.bat -projectfiles -project"C:/UEProject/Shp\_1/Shp\_1.uproject" -game -rocket -progress Usi…...
FFmpeg获取视频详情
话不多说,直接上代码: pom依赖: <!--视频多媒体工具包 包含 FFmpeg、OpenCV--><dependency><groupId>org.bytedeco</groupId><artifactId>javacv-platform</artifactId><version>1.5.3</versi…...
find: paths must precede expression
find: paths must precede expression 1. find: paths must precede expression2. 请在搜索字符串上添加单引号或者双引号References 1. find: paths must precede expression strongforeverstrong:~/ForeverStrong$ find /home/strong/ForeverStrong/image_results/ -name *.…...
RabbitMQ3.x之九_Docker中安装RabbitMQ
RabbitMQ3.x之_Docker中安装RabbitMQ 文章目录 RabbitMQ3.x之_Docker中安装RabbitMQ1. 官网2. 安装1 .拉取镜像2. 运行容器 3. 访问 1. 官网 rabbitmq - Official Image | Docker Hub 2. 安装 1 .拉取镜像 docker pull rabbitmq:3.13.0-management2. 运行容器 # latest Rabb…...
SeqGPT-560M中文理解深度测评:对古汉语、方言、行业黑话的泛化能力分析
SeqGPT-560M中文理解深度测评:对古汉语、方言、行业黑话的泛化能力分析 1. 模型背景与核心能力 SeqGPT-560M是阿里达摩院推出的零样本文本理解模型,专门针对中文场景优化,无需训练即可完成文本分类和信息抽取任务。这个560M参数的轻量级模型…...
旧Mac重生指南:用OpenCore Legacy Patcher解锁macOS新版本
旧Mac重生指南:用OpenCore Legacy Patcher解锁macOS新版本 【免费下载链接】OpenCore-Legacy-Patcher 体验与之前一样的macOS 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 你是否有一台性能依然强劲却被苹果官方抛弃的旧Mac&…...
Xinference-v1.17.1智能家居控制系统开发
Xinference-v1.17.1智能家居控制系统开发 1. 智能家居控制新体验 想象一下,早上醒来窗帘自动拉开,阳光洒进房间,咖啡机开始工作,音响播放你喜欢的音乐。这不是科幻电影,而是用Xinference-v1.17.1构建的智能家居控制系…...
魔兽世界插件开发利器:wow_api技术架构与实战指南
魔兽世界插件开发利器:wow_api技术架构与实战指南 【免费下载链接】wow_api Documents of wow API -- 魔兽世界API资料以及宏工具 项目地址: https://gitcode.com/gh_mirrors/wo/wow_api 技术探索:从需求到架构的演进之路 魔兽世界插件开发生态长…...
4步实现Android Studio本地化配置:从语言障碍到高效开发
4步实现Android Studio本地化配置:从语言障碍到高效开发 【免费下载链接】AndroidStudioChineseLanguagePack AndroidStudio中文插件(官方修改版本) 项目地址: https://gitcode.com/gh_mirrors/an/AndroidStudioChineseLanguagePack 问题诊断&…...
紧固件包装机有哪些类型?自动化包装设备全解析_FES 2026上海紧固件展
2026第十六届上海紧固件专业展(Fastener Expo Shanghai 2026)将于6月24日至26日在国家会展中心(上海)举行。作为紧固件行业的重要展示窗口,本届展会将重点呈现制造端与后道环节的智能化升级,其中࿰…...
iPhone 抓包失败 4 种具体情况逐个解决方法
抓不到包这个描述太模糊了,在实际调试中,这句话至少对应四种完全不同的情况: 完全没有请求只有浏览器能抓到能抓到但 HTTPS 解不开能抓到但数据不完整 如果不先分清楚是哪一种,就会一直重复安装证书或改代理配置。一、先做一个验证…...
Qwen3-ASR-1.7B部署案例:AI初创公司低成本构建ASR SaaS服务
Qwen3-ASR-1.7B部署案例:AI初创公司低成本构建ASR SaaS服务 想象一下,你是一家AI初创公司的技术负责人,老板给你下了个任务:两周内,为公司的新产品上线一个语音转文字(ASR)功能。要求是识别要准…...
Open Props:重新定义CSS自定义属性的高效设计系统
Open Props:重新定义CSS自定义属性的高效设计系统 【免费下载链接】open-props CSS custom properties to help accelerate adaptive and consistent design. 项目地址: https://gitcode.com/gh_mirrors/op/open-props 在前端开发领域,样式一致性…...
3个核心革新让英雄联盟玩家彻底告别繁琐游戏操作
3个核心革新让英雄联盟玩家彻底告别繁琐游戏操作 【免费下载链接】League-Toolkit 兴趣使然的、简单易用的英雄联盟工具集。支持战绩查询、自动秒选等功能。基于 LCU API。 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 在快节奏的英雄联盟对局中&#…...
