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

力扣热门100题之岛屿的数量(DFS/BFS经典题)

核心思路:

遍历每一个格子,遇到陆地就把它所在的整座岛全部淹掉(标记为 0),岛屿数量 +1

通俗解释

  1. 逐个格子扫一遍
  2. 碰到1说明发现一座新岛count++
  3. 立刻用 DFS 把这座岛所有相连的 1 都改成 0(相当于淹掉)
  4. 继续扫,直到结束

这样每座岛只会被计数一次

完整代码实现:

class Solution { public int numIslands(char[][] grid) { if(grid == null || grid.length == 0) return 0; int count = 0; int m = grid.length; int n = grid[0].length; for(int i = 0;i<m;i++){ for(int j = 0;j<n;j++){ // 找到一块陆地 if(grid[i][j] == '1'){ count++; // 把这座岛全部淹掉 dfs(grid,i,j); } } } return count; } public void dfs(char[][] grid,int i,int j){ int m = grid.length; int n = grid[0].length; // 越界 或者 是水,直接返回 if (i < 0 || i >= m || j < 0 || j >= n || grid[i][j] == '0') { return; } // 淹掉 grid[i][j] = '0'; dfs(grid,i - 1,j); dfs(grid,i + 1,j); dfs(grid,i,j - 1); dfs(grid,i,j + 1); } }
http://www.jsqmd.com/news/625874/

相关文章:

  • 大模型到底是啥?运维人分钟搞懂(不用数学)侗
  • 数据摄取构建模块简介(预览版)(一)录
  • 告别Arduino IDE!在PlatformIO上玩转ESP32的SPIFFS文件系统(附完整代码)
  • 一季度收官,AI在交通运输行业表现如何?
  • 技术选型评估框架需求技术与团队匹配
  • 从控制理论到ADS仿真:深入浅出理解奈奎斯特判据,让你的放大器不再自激
  • OneMore插件终极指南:160+功能让OneNote效率翻倍的完整教程
  • 从ResNet到Neural Radiance Fields原生识别:2026奇点大会揭示的3代演进拐点,错过本次将滞后至少18个月技术窗口期
  • 使用Alpine配置WSL ssh门户攘
  • 2026徐州名表回收靠谱商家推荐排行:避坑指南+市场深度解析 - 野榜精选
  • Mirage Flow智能体开发:基于skills构建专业Agent
  • Docker挂载卷常见问题排查:为什么挂载后容器内是空的?
  • AI原生研发必须立刻重构的多语言基建(仅剩最后6个月窗口期——W3C新标准ICU 75+强制要求CLDR v44语义映射)
  • 保姆级避坑指南:在STM32MP157上为M4核移植RT-Thread并打通OpenAMP通信
  • 2026徐州二手奢包回收全解析:定价标准、避坑指南与优质商家推荐 - 野榜精选
  • 2026 南京建筑智能权威 TOP5 测评:技术深耕与实效落地,舒特机电领跑行业新标杆 - 小艾信息发布
  • 如何快速解决Sunshine游戏流媒体服务器常见问题:终极故障排除指南
  • 你的SSH密钥可能已经过期了稻
  • AcousticSense AI帮你听歌识曲:不只是识别歌曲,还能分析风格
  • 电源实战手记(三):从零解析反激式ACDC开关电源的设计与优化
  • 为什么你的GitHub下载速度慢如蜗牛?Fast-GitHub让你3分钟实现极速访问
  • 求proteus的各位大佬帮助
  • 2026徐州黄金回收市场深度解析:避坑指南+靠谱商家与门店推荐 - 野榜精选
  • DIV布局笔记
  • COCO2017数据集:从下载到应用的全方位指南
  • 【2026最硬核AI电商案例】:基于SITS2026真实压测数据——千并发下AI导购响应<380ms、退货意图识别准确率99.17%、冷启动新品曝光提升5.8倍
  • 【JavaScript高级编程】拆解函数流水线 上倏
  • ROS开发必备:Terminator终端分屏的5个高效技巧(附快捷键大全)
  • 终极网盘直链下载助手:如何一键获取八大网盘高速下载地址
  • 再次革新 .NET 的构建和发布方式(三)媒