LeetCode 695 岛屿的最大面积
- 题目描述
给定一个包含了一些 0 和 1 的非空二维数组 grid 。一个 岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在水平
或者竖直方向上相邻。你可以假设 grid 的四个边缘都被 0(代表水)包围着。找到给定的二维数组中最大的岛屿面积。(如果没有岛屿,则返回面积为 0 。)
- 题解
深度优先搜索
- 代码
class Solution {
public:void dfs(vector<vector<int>>& grid,int x,int y,int m,int n){for (int k=0;k<4;k++){int xx=x+d[k][0];int yy=y+d[k][1];if (xx<0||yy<0||xx>=m||yy>=n||!grid[xx][yy]) continue;grid[xx][yy]=0;cnt++;dfs(grid,xx,yy,m,n);}}int maxAreaOfIsland(vector<vector<int>>& grid) {int m=grid.size();if (!m) return 0;int n=grid[0].size();res=0;for (int i=0;i<m;i++){for (int j=0;j<n;j++){cnt=0;if (grid[i][j]){grid[i][j]=0;cnt++;dfs(grid,i,j,m,n);res=max(res,cnt);}}}return res;}int d[4][2]={1,0,0,1,-1,0,0,-1};int res,cnt;
};
LeetCode 695 岛屿的最大面积相关推荐
- LeetCode 695.岛屿的最大面积
LeetCode 695.岛屿的最大面积 给你一个大小为 m x n 的二进制矩阵 grid . 岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在 水平或者竖直的 ...
- LeetCode 695. 岛屿的最大面积【c++/java详细题解】
目录 1.题目 2.思路 3.c++代码 4.java代码 1.题目 给定一个包含了一些 0 和 1 的非空二维数组 grid . 一个 岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相 ...
- LeetCode 695. 岛屿的最大面积(图的BFS/DFS)
文章目录 1. 题目 2. 解题 2.1 BFS广度优先搜索 2.2 DFS深度优先搜索 1. 题目 给定一个包含了一些 0 和 1的非空二维数组 grid , 一个 岛屿 是由四个方向 (水平或垂直 ...
- LeetCode 695. 岛屿的最大面积
文章目录 题目 题解 代码 题目 给定一个包含了一些 0 和 1 的非空二维数组 grid . 一个 岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在水平或者竖直 ...
- leetcode 695. 岛屿的最大面积 python
题目描述: 输入的grid是一个数组,其中0代表海洋,1代表岛屿,题目要求寻找最大岛屿面积,即寻找grid中连续1的最大值. 题解: 采用深度优先搜索dfs的方法: 1.对位置[i,j],如果i j超 ...
- 力扣(Leetcode)695. 岛屿的最大面积(Java)带注释
leetcode刷题695. 岛屿的最大面积 1.题目描述 2.解法 1.DFS(深度优先搜索) 2.DFS + 栈 1.题目描述 给你一个大小为 m x n 的二进制矩阵 grid . 岛屿 是由一 ...
- 每日一道leetcode(python)695. 岛屿的最大面积
每日一道leetcode(python)695. 岛屿的最大面积 2021-08-21 给定一个包含了一些 0 和 1 的非空二维数组 grid .一个 岛屿 是由一些相邻的 1 (代表土地) 构成的 ...
- 岛屿问题 通用解-463.岛屿周长-200.岛屿数量-695.岛屿的最大面积-827.最大人工岛
文章目录 岛屿问题 如何在网格上做DFS(通用解) 463.岛屿的周长 题目 题解 -通用模板 题解2 200.岛屿数量 题目 题解 695.岛屿的最大面积 题目 题解 827.最大人工岛 题目 题解 ...
- 岛屿类-网格类问题-DFS | 力扣695. 岛屿的最大面积
思路参考上文: 岛屿类-网格类问题-DFS | 力扣200. 岛屿数量 本文讲解695. 岛屿的最大面积问题,属于常见的岛屿类-网格类问题 本题使用DFS的思想 题目 给定一个包含了一些 0 和 1 ...
最新文章
- Java中classpath配置
- 代码: html 页面小效果 (集合,待补充)
- MySQL事务及锁机制大揭秘 - 公开课笔记
- RUNOOB python练习题30 回文数
- 【转】Postman系列四:Postman接口请求设置环境变量和全局变量、测试沙箱和测试断言、测试集运行与导入数据文件
- MySQL操作之JSON数据类型操作详解
- 是否有必要使用外键?为什么不用外键?
- Netty工作笔记0011---Channel应用案例2
- 也说 Jquery+ASP.NET 实现开心网上传头像剪裁功能
- linux php zend load,在Linux系统中为PHP5.3安装Zend Guard Loader
- 你真的了解 MySQL 数据库的运行状况吗?
- 表达式引擎Aviator基本介绍及使用以及基于Aviator的规则引擎(附代码详细介绍)
- 读书笔记-财务报表资本结构分析
- 【数据结构与算法】之深入解析RSA加密算法的实现原理
- 机器学习(九)决策树,随机森林
- java吸血鬼数字_吸血鬼数字的简单实现
- Redis最详细讲解
- MySQL 中事务的实现原理全解析
- No space left on device: mod_rewrite: could not create rewrite_log_lock
- 嵌套相对比较通俗的解释(网页百度内容,非原创)
热门文章
- java圆形头像上传_Android自定义控件实例,圆形头像(图库 + 裁剪+设置),上传头像显示为圆形,附源码...
- 2.4g和5g要不要合并_请问千兆路由器,2.4g与5g是双频合一还是分开,该选择哪个?...
- 4米乘以12米CAD图_CAD做钣金件展开的原理你知道吗?
- pytorch分布式训练(一):torch.nn.DataParallel
- 最简易上手的Numpy学习笔记一
- Adobe illustrator 显示网格移除剪切蒙版和背景 - 连载 4
- 部分植物基因组数据库汇总
- 一款非常好用的音乐标签及管理工具:Yate for Mac
- .sh文件怎么写_typeScript 配置文件该怎么写?
- Qt文档阅读笔记-Broadcast Receiver Example解析