0
点赞
收藏
分享

微信扫一扫

剑指 Offer II 105. 岛屿的最大面积

星河出山 2022-03-26 阅读 55

剑指 Offer II 105. 岛屿的最大面积

 

class Solution {
    public int maxAreaOfIsland(int[][] grid) {
        int rest = 0;
        for(int i =0 ; i<grid.length;i++){
            for(int j = 0 ; j<grid[0].length;j++){//遍历二维数组
                rest = Math.max(rest,dfs(grid,i,j));//更新最大值
            }
        }
        return rest;
    }
    public int dfs (int[][] arrs , int i , int j){
        if(i<0||i>=arrs.length||j<0||j>=arrs[0].length)return 0;//超出数组索引直接返回0
        if(arrs[i][j]==0)return 0;//当前位置没有土地,也直接返回0
        else{
           
            arrs[i][j]=0;//如果已经遍历过就初始化为0,防止二次遍历
            //分别相上下左右四个方向进行递归,并且要加上自己这个这块面积1
            return dfs(arrs,i+1 ,j)+dfs(arrs,i-1 ,j)+dfs(arrs,i ,j+1)+dfs(arrs,i ,j-1)+1;
            
        }
    }
}
举报

相关推荐

0 条评论