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

力扣面试150题--岛屿数量

Day 59

题目描述

在这里插入图片描述

思路

一个岛屿是只要1上下左右连接,典型的深搜,如果具体见代码,主要就是得到一个岛屿后,就将1改为2,这样可以节约时间,遍历这个1的上下左右,确定岛屿数量就是通过找1的数目,因为之前为一个岛屿的都改为2了。

class Solution {public  void  dfs(char[][] grid,int i,int j){if (i < 0 || i >= grid.length || j < 0 || j >= grid[i].length || grid[i][j] != '1') {return;}// 标记当前位置为已访问grid[i][j] = '2';// 递归探索四个方向dfs(grid, i + 1, j);dfs(grid, i - 1, j);dfs(grid, i, j + 1);dfs(grid, i, j - 1);}public  int numIslands(char[][] grid) {int num=0;for(int i=0;i<grid.length;i++){for(int j=0;j<grid[i].length;j++){if(grid[i][j]=='1'){//找到1 就是一个新岛屿,原因在于被发现的岛屿中所有的1都改成2了num++;dfs(grid,i,j);}}}return num;}
}

相关文章:

  • K8S主机漏洞扫描时检测到kube-服务目标SSL证书已过期漏洞的一种永久性修复方法
  • 机器学习基础相关问题
  • C++ 变量二
  • Linux操作系统shell脚本
  • 论文导读 | 区间数据管理
  • 如何能推进专业度比较高的项目?
  • 深入详解开源工具DCMTK:C++开发的DICOM工具包
  • 相机--相机标定实操
  • Java 中创建线程主要有三种方式
  • 洛谷 单源最短路径 Dijkstra算法+优先队列
  • 华为云Flexus+DeepSeek征文|Flexus云服务器单机部署+CCE容器高可用部署快速搭建生产级的生成式AI应用
  • 如何通过RL真正提升大模型的推理能力?NVIDIA提出长期强化学习训练框架ProRL
  • 通过模型文件估算模型参数量大小
  • 数据湖是什么?数据湖和数据仓库的区别是什么?
  • vscode中无法使用npm node
  • STM32的ADC简介
  • 51单片机基础部分——数码管显示
  • 解决idea编译运行项目时间长的问题
  • 【学习笔记】TCP 与 UDP
  • 【映射】2024-睿抗-AcWing 5834. 谁进线下了?
  • 两学一做考学网站/搜索引擎优化的概念是什么
  • 昌邑网页设计/石家庄seo培训
  • 互联网网站界面设计 要素/个人模板建站
  • 做网站有效果吗/seo赚钱方式
  • 自己做网站买/如何提高网站搜索排名
  • 陕西省工程建设交易服务中心网站/千锋教育出来好找工作吗