695. 岛屿的最大面积(dfs)

Posted vampire6

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了695. 岛屿的最大面积(dfs)相关的知识,希望对你有一定的参考价值。

695. 岛屿的最大面积

技术图片

 

 

class Solution {
public:
    int maxAreaOfIsland(vector<vector<int>>& grid) {
        int hh=grid.size();//
        int ll=grid[0].size();//
        if(hh==0)
            return 0;
        int ans=0,res=0;
        for(int i=0;i<hh;i++)
        {
            for(int j=0;j<ll;j++)
            {
                if(grid[i][j]==1)
                {
                    ans=0;
                    dfs(grid,i,j,ans);
                    res=max(res,ans);
                }
            }
        }
        return res;
    }
    void dfs(vector<vector<int>>& grid,int h,int l,int &ans)
    {

        int hh=grid.size();//
        int ll=grid[0].size();//
        grid[h][l]=0;//走过就变成0,防止下次还走
        ans++;//找到符合的加一个
        //垂直方向上下左右走,且判断搜的时候会不会出边界
        if(h-1>=0&&grid[h-1][l]==1)  //行-1,向上搜
            dfs(grid,h-1,l,ans);
        if(h+1<hh&&grid[h+1][l]==1)  //行+1,向下搜
            dfs(grid,h+1,l,ans);
        if(l-1>=0&&grid[h][l-1]==1)  //列-1,向左走
            dfs(grid,h,l-1,ans);
        if(l+1<ll&&grid[h][l+1]==1)  //列+1,向右走
            dfs(grid,h,l+1,ans);   
    }
};

 

以上是关于695. 岛屿的最大面积(dfs)的主要内容,如果未能解决你的问题,请参考以下文章

695-岛屿的最大面积

LeetCode 695. 岛屿的最大面积c++/java详细题解

695. 岛屿的最大面积

leetcode695.岛屿的最大面积

Leetcode 695.岛屿的最大面积

Python BFS 695. 岛屿的最大面积