zoukankan      html  css  js  c++  java
  • 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);   
        }
    };
  • 相关阅读:
    CAS-认证流程
    SSO-基本概念
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    Evanyou Blog 彩带
  • 原文地址:https://www.cnblogs.com/Vampire6/p/13127562.html
Copyright © 2011-2022 走看看