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

LeetCode hot100-51-G

200. 岛屿数量
给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。

做不来,看答案
图的dfs。遇到一个1就计算一次且把它和周围相连的1都变成0。

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;}
}作者:LeetCode
链接:https://leetcode.cn/problems/number-of-islands/solutions/13103/dao-yu-shu-liang-by-leetcode/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

相关文章:

  • iOS--工厂设计模式
  • Linux基础知识,配置网卡(七)
  • 【算法】位运算算法——两整数之和
  • 手写电纸书天花板,阅读办公新体验 | 汉王手写电纸本 N10 2024 版使用评测
  • 【Python-Pandas】DataFrame选取行数据
  • 5.27作业
  • Linux中 “权限设置修改”
  • 在 MFC 中 UNICODE 加 _T 与 L 长字符串,有什么区别?
  • 样本拟合正弦函数? 梯度下降法? NO,比梯度下降还快的算法.
  • 使用 Django Admin 进行高效的后台管理
  • 【教学类-58-06】黑白三角拼图06(1页3张彩色黑点卡片,一种宫格36张,适合一个班级一次操作)
  • vue3 excel 文件导出
  • 走进全球LED显示龙头艾比森,深挖逆势增长43%的数智化逻辑
  • 操作系统课程实验1-进程调度模拟实验
  • 初识C++ · 模拟实现string
  • [deviceone开发]-do_Webview的基本示例
  • [NodeJS] 关于Buffer
  • 【每日笔记】【Go学习笔记】2019-01-10 codis proxy处理流程
  • 30秒的PHP代码片段(1)数组 - Array
  • CentOS7 安装JDK
  • CentOS7简单部署NFS
  • hadoop集群管理系统搭建规划说明
  • IP路由与转发
  • MYSQL如何对数据进行自动化升级--以如果某数据表存在并且某字段不存在时则执行更新操作为例...
  • Python_网络编程
  • Shell编程
  • spring boot下thymeleaf全局静态变量配置
  • spring security oauth2 password授权模式
  • Vue学习第二天
  • 湖南卫视:中国白领因网络偷菜成当代最寂寞的人?
  • 技术攻略】php设计模式(一):简介及创建型模式
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 马上搞懂 GeoJSON
  • 设计模式 开闭原则
  • 微信支付JSAPI,实测!终极方案
  • 项目管理碎碎念系列之一:干系人管理
  • 继 XDL 之后,阿里妈妈开源大规模分布式图表征学习框架 Euler ...
  • ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTr
  • #HarmonyOS:基础语法
  • #pragma multi_compile #pragma shader_feature
  • #免费 苹果M系芯片Macbook电脑MacOS使用Bash脚本写入(读写)NTFS硬盘教程
  • (9)目标检测_SSD的原理
  • (C语言)编写程序将一个4×4的数组进行顺时针旋转90度后输出。
  • (附源码)ssm失物招领系统 毕业设计 182317
  • (黑马点评)二、短信登录功能实现
  • (蓝桥杯每日一题)love
  • (六)Flink 窗口计算
  • (每日一问)计算机网络:浏览器输入一个地址到跳出网页这个过程中发生了哪些事情?(废话少说版)
  • (文章复现)基于主从博弈的售电商多元零售套餐设计与多级市场购电策略
  • (转)C语言家族扩展收藏 (转)C语言家族扩展
  • *算法训练(leetcode)第四十五天 | 101. 孤岛的总面积、102. 沉没孤岛、103. 水流问题、104. 建造最大岛屿
  • ./indexer: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object fil
  • .Net 6.0--通用帮助类--FileHelper
  • .NET Core SkiaSharp 替代 System.Drawing.Common 的一些用法
  • .NET Core WebAPI中封装Swagger配置