一、题目

给定一个包含了一些 0 和 1 的非空二维数组 grid 。

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

找到给定的二维数组中最大的岛屿面积。(如果没有岛屿,则返回面积为 0 。)

二、思路

使用递归,首先对数组进行循环,遇到“1”时开始计算针对上下左右四个方向便利得出面积,最后得出每次计算面积中的最大值即可。

三、实现

public int maxAreaOfIsland(int[][] grid) {
        int max = 0;
        for (int i = 0; i < grid.length; i++) {
            for (int j = 0; j < grid[0].length; j++) {
                max = Math.max(countArea(grid, i, j), max);
            }
        }

return max;
    }

public int countArea(int[][] grid, int i, int j) {
        if (i < 0 || j < 0 || i >= grid.length || j >= grid[0].length || grid[i][j] != 1) {
            return 0;
        }

grid[i][j] = 0;

return 1 + countArea(grid, i + 1, j) + countArea(grid, i - 1, j) + countArea(grid, i, j + 1) + countArea(grid, i, j - 1);
    }

算法题:岛屿最大面积相关推荐

  1. 经典算法题计算积水面积——python

    原题:给定一个整数数组,假设元素都是厚为1的挡板,往里面倒水,计算盛水的最大横截面积. 算法1思路: 实现思路:每次看到一个元素,就往回看会增加多少积水 时间复杂度,每遍历一个元素都有可能回看所有已经 ...

  2. 【算法题目】【DFS】岛屿数量 岛屿中面积最大值

    1岛屿数量 题目很好理解,dfs来一套即可: (1)二维的,没考虑特殊情况: (2)对每个网格dfs,每次dfs往上下左右搜 (3)grid是list,在python里面会是一个全局,第一次搜到记一次 ...

  3. LeetCode算法题7:DFS和BFS

    文章目录 前言 深度优先搜索算法伪代码: 广度优先搜索算法伪代码: 一.图像渲染 DFS: BFS: 上面BFS算法存在的问题: 修改 1: 修改 2: 二.岛屿的最大面积 DFS: BFS : 三. ...

  4. LeetCode算法题整理(200题左右)

    目录 前言 一.树(17) 1.1.后序遍历 1.2.层次遍历 1.3.中序 1.4.前序 二.回溯(20) 2.1.普通回溯 2.2.线性回溯:组合.排列.子集.分割 2.3.矩阵回溯 三.二分查找 ...

  5. 2021年刷这600多道算法题,轻松进大厂

    截止到目前我已经写了 600多道算法题,其中部分已经整理成了pdf文档,目前总共有1000多页(并且还会不断的增加),大家可以免费下载 下载链接:https://pan.baidu.com/s/1hj ...

  6. 2021届秋招大厂高频算法题汇总

    当初在准备秋招的时候,算法是一个大难题,不知道该怎么准备,也不知道应该要刷哪些题,只能在网上看面经,然后整理一遍,下面这些题目主要来源三个方面, (1)我自己遇到的真题 (2)牛客上的面经,别人遇到的 ...

  7. Leetcode高频算法题——字节跳动篇

    众所周知,字节跳动面试非常喜欢考算法题. Leetcode官方的企业题库不仅付费,而且题量非常大. 因此,我从20年7月开始,手动整理牛客面经涉及的Leetcode算法题,并按照频度由高到低进行了排列 ...

  8. 字节跳动2021年4月面试算法题库

    本文汇总了牛客2021.4.1~2021.4.30 面经考到的Leetcode题目 最终的高频题榜单数据可以在CodeTop题库(https://codetop.cc)查询,支持按部门.岗位分类筛选. ...

  9. 字节跳动3月面试遇到的高频算法题

    本文汇总了牛客2021.3.1~2021.3.30 面经考到的Leetcode题目 最终的高频题榜单数据可以在CodeTop题库(https://codetop.cc)查询,支持按部门.岗位分类筛选. ...

  10. 零起点学算法11——求梯形面积

    零起点学算法11--求梯形面积 Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lld Description 水题 Input ...

最新文章

  1. vs2008部署问题
  2. Centos6.5配置DNS的主从服务器
  3. matlab从flove,Matlab玩出新高度,变身表白女友神器_善良995的博客-CSDN博客
  4. html 边框循环变色,方框用过渡走一圈变色用css怎么实现
  5. 2019年下信息系统项目管理师真题讲解【视频+PDF下载】
  6. 【可持久化线段树?!】rope史上最全详解
  7. rhel7+apache+c cgi+动态域名实现web访问
  8. CentOS 6 rpm方式安装mysql
  9. 晶振噪声及杂散_晶振如何匹配电容看了就知道
  10. 运营商的光猫有四个输出端口,哪个带宽最大?
  11. 在线JWT Token解析解码
  12. 微信开放平台扫码登录
  13. 计算机表格排版,你必须要知道的excel排版技巧
  14. 用Python找回微信撤回信息
  15. 10分钟教你生成超高逼格微信朋友圈
  16. switch的优缺点
  17. python怎么输出坐标_使用Python实现图像标记点的坐标输出功能
  18. 计算机专业省赛一等奖有什么好处,省技能大赛一等奖好处都有什么
  19. 转载:手機 Cell ID 與定位
  20. soon or later,There is a decision to make.

热门文章

  1. [附源码]JAVA+ssm计算机毕业设计高铁乘坐舒适性在线调查及评价系统(程序+Lw)
  2. JS获取按键的代码,Js如何屏蔽用户的按键,Js获取用户按键对应的ASII码(兼容所有浏览器)...
  3. hooks-riverpod 使用
  4. 【期望】几何分布的期望
  5. 老男孩网络安全 | 从小白到月薪13k,仅仅只用了三个多月的时间!
  6. 小心身份证复印件的使用
  7. _kbhit函数详解
  8. 精挑细选的良心APP,每款都非常惊艳
  9. 适合学计算机学生喝的茶,学生喝什么茶能够提高记忆力
  10. 【obs】libobs-winrt :CreateDispatcherQueueController