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

岛屿的数量-leetcode

题目描述

给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。

岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。

此外,你可以假设该网格的四条边均被水包围。

示例 1:

输入:grid = [['1','1','1','1','0'],['1','1','0','1','0'],['1','1','0','0','0'],['0','0','0','0','0']
]
输出:1

示例 2:

输入:grid = [['1','1','0','0','0'],['1','1','0','0','0'],['0','0','1','0','0'],['0','0','0','1','1']
]
输出:3

提示:

  • m == grid.length
  • n == grid[i].length
  • 1 <= m, n <= 300
  • grid[i][j] 的值为 '0''1'

解法一

思路:

逐行扫描,对于一个为1的陆地作为起点,深度遍历其上下左右,直到碰到0,并且对于遍历过程中将等于1的陆地改为0,这样就将这片陆地的所有土地扫描结束并且全部置为0,再选择新的起点进行同样的操作。

代码:

class Solution {public void dfs(char[][] grid , int row , int col) {int nr=grid.length;int nc=grid[0].length;grid[row][col]='0';if(row-1>=0 && grid[row-1][col]=='1')dfs(grid,row-1,col);if(row+1<nr && grid[row+1][col]=='1')dfs(grid,row+1,col);if(col-1>=0 && grid[row][col-1]=='1')dfs(grid,row,col-1);if(col+1<nc && grid[row][col+1]=='1')dfs(grid,row,col+1);}public int numIslands(char[][] grid) {int numIslands=0;int nr=grid.length;if(nr==0)return numIslands;int nc=grid[0].length;for(int i=0;i<nr;i++){for(int j=0;j<nc;j++){if(grid[i][j]=='1'){numIslands++;dfs(grid,i,j);}}}return numIslands;}
}
http://www.jsqmd.com/news/535475/

相关文章:

  • 别再只盯着BLEU了:用Python手把手教你计算CIDEr和METEOR(附代码)
  • 【仅限首批200名开发者】获取NVIDIA JetPack 6.0+Python 3.10量化部署性能调优密钥包(含GEMM融合patch、cache-aware kernel配置表)
  • 邯郸压力性白发变黑品牌哪家好?黑奥秘120天科学全周期调理 - 美业信息观察
  • 告别Kibana!我用MCP为Easysearch打造专属AI运维助手
  • 永磁直驱风电并网仿真实战手记
  • 2026年3月评测国内口碑好的鸡眼机厂商,别错过,市面上鸡眼机长石机械满足多元需求 - 品牌推荐师
  • 国内抗衰老保健品避坑指南:气阴两虚人群的4款产品真实使用记录 - 资讯焦点
  • Qwen-Image-Edit安全实践:图像编辑中的网络安全防护
  • 【技术解析】BGRL:告别负样本对比,图自监督学习的线性复杂度新范式
  • 微软发布的《Generative AI for Beginners.NET: Version 2》(生成式人工智能初学者.NET第二版)课程
  • 如何避免依赖管理陷阱?IPED开发者必学的依赖治理策略
  • 终极指南:Bespoke Curator如何无缝集成OpenAI、Anthropic和Gemini三大LLM
  • 完整指南:如何快速创建和使用VSCode便携版开发环境
  • NMN的作用与功效有哪些?2026年十大NMN品牌功效实测,小石丸极芝NMN位列榜首 - 资讯焦点
  • 2026随身WiFi行业前景+格行招商全解:代理怎么做?怎么赚钱?城市服务商/租赁模式一文吃透 - 格行官方招商总部
  • 三井NMN怎么样?如果你重视判断标准而不是口号,可以这样看 - 资讯焦点
  • 如何高效完成海康工业相机内参标定?这些技巧让你事半功倍
  • 计算机毕业设计:基于Django与Scrapy的美食数据可视化平台 Django框架 Scrapy爬虫 可视化 数据分析 大数据 机器学习 食物 食品(建议收藏)✅
  • 语音去混响技术的范式转变:Nara-WPE如何重塑远场语音交互体验
  • MySQL-InnoDBCluster高可用部署实战:从零搭建到故障切换
  • 2026无锡抖音运营|视频号运营公司服务能力深度评测报告 - 资讯焦点
  • HunyuanVideo-Foley部署指南:多用户隔离WebUI会话与资源配额设置
  • PowerMenu:打造现代化Android弹出菜单的强大解决方案
  • PCB沉金与电金工艺深度解析:工程师选型不踩坑(附打样福利)
  • Vue3实战:如何优雅地从静态页面URL获取参数(附完整代码)
  • 3步构建企业级邮件系统:Stalwart Mail Server Docker部署指南
  • 从寄存器配置到G值:一份给STM32开发者的SC7A20加速度数据换算保姆级指南
  • 三电平 VSG 构网型变流器仿真分析
  • [网鼎杯 2020 青龙组]jocker
  • 腾讯推出小龙虾 AI,QClaw 零门槛打造你的本地智能助手