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

leetcode695 岛屿的最大面积

题目

给你一个大小为 m x n 的二进制矩阵 grid 。

岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在 水平或者竖直的四个方向上 相邻。你可以假设 grid 的四个边缘都被 0(代表水)包围着。

岛屿的面积是岛上值为 1 的单元格的数目。

计算并返回 grid 中最大的岛屿面积。如果没有岛屿,则返回面积为 0 。

示例

输入:grid = [[0,0,1,0,0,0,0,1,0,0,0,0,0],[0,0,0,0,0,0,0,1,1,1,0,0,0],[0,1,1,0,1,0,0,0,0,0,0,0,0],[0,1,0,0,1,1,0,0,1,0,1,0,0],[0,1,0,0,1,1,0,0,1,1,1,0,0],[0,0,0,0,0,0,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,1,1,1,0,0,0],[0,0,0,0,0,0,0,1,1,0,0,0,0]]
输出:6
解释:答案不应该是 11 ,因为岛屿只能包含水平或垂直这四个方向上的 1 。
在这里插入图片描述

示例

这道题和上一道求岛屿数量的题目,在思想上都是一样的,就是通过dfs来遍历到每个岛屿,同时计算出它的面积来,维护一个面积的最大值即可

func maxAreaOfIsland(grid [][]int) int {var dfs func(grid [][]int, i, j int) intdfs = func(grid [][]int, i, j int) int {if i < 0 || j < 0 || i >= len(grid) || j >= len(grid[0]) || grid[i][j] == 0 {return 0}area := 1grid[i][j] = 0area += dfs(grid, i+1, j)area += dfs(grid, i-1, j)area += dfs(grid, i, j+1)area += dfs(grid, i, j-1)return area}maxArea := 0for i := 0; i < len(grid); i++ {for j := 0; j < len(grid[0]); j++ {if grid[i][j] == 1 {maxArea = max(maxArea, dfs(grid, i, j))}}}return maxArea
}
http://www.lryc.cn/news/371885.html

相关文章:

  • 小程序无法调用服务端问题排查
  • Linux:多线程的操作
  • kunpeng的aarch64架构cpu、openeuler系统、昇腾服务器适配文档转换功能(doc转docx、ppt转pptx)
  • unity 打包PC安装包中常见文件的功能
  • 【Ardiuno】实验使用ESP32单片机实现高级web服务器暂时动态图表功能(图文)
  • 深入浅出服务网格(Service Mesh):现代微服务架构的护航者
  • node调试
  • docker拉取镜像失败超时的解决方法,docker配置国内镜像源
  • 建造气膜结构体育馆需要注意的事项—轻空间
  • 使用脚手架创建vue2项目(关闭eslint语法检查 、运行项目时自动打开网址、src文件夹简写方法)
  • 谷粒商城实战(036 k8s集群学习2-集群的安装)
  • 复旦微FMQL20SM全国产ARM+FPGA核心板,替代xilinx ZYNQ7020系列
  • NPM常见问题
  • 二开版视频CMS完整运营源码/新版漂亮APP手机模板/集成员分销功能等
  • JavaScript的数组排序
  • 从Log4j和Fastjson RCE漏洞认识jndi注入
  • 7-25 数字三角形问题
  • 【Kafka专栏 08】ZooKeeper的Watch机制:不就是个“小喇叭”吗?
  • 三极管的厄利效应(early effect)
  • Maven: 编码GBK的不可映射字符不能编译
  • 《web应用技术》第十一次课后作业
  • flutter中实现首行缩进两端对齐
  • Vitis HLS 学习笔记--Vitis Accelerated Libraries介绍
  • Vue3-滑动到最右验证功能
  • 深入理解MyBatis XML配置文件
  • 006 CentOS 7.9 elasticsearch7.10.0安装及配置
  • 蚂蚁分类信息系统二开仿么么街货源客模板微商货源网源码(带手机版)
  • 综合数据分析及可视化实战
  • N32G45XVL-STB之移植LVGL(8.4.0)
  • SwaggerSpy:一款针对SwaggerHub的自动化OSINT安全工具