Can someone please help|| Cpp Dfs
class Solution {
public:
    int x1[4]={0,-1,0,1};
    int y1[4]={1,0,-1,0};
    
    void dfs(int x,int y,int r,int c,vector<vector<int>> &grid,vector<vector<int>> &vis,int &count)
    {
        
        vis[x][y]=1;
      
        for(int i=0;i<4;i++)
        {
            int cx=x+x1[i];
            int cy=y+y1[i];
            if(cx>=0 && cx<r && cy>=0 && cy<c && !vis[cx][cy] && grid[cx][cy])
            {
                count++;
              
                dfs(cx,cy,r,c,vis,grid,count);
            }
        }
        
    }
    
    
    int maxAreaOfIsland(vector<vector<int>>& grid) {
        int n=grid.size();
        int m=grid[0].size();
        vector<vector<int>> vis(n,vector<int> (m,0));
        
        int ans=0;
        
        for(int i=0;i<n;i++)
        {
            for(int j=0;j<m;j++)
            {
                if(!vis[i][j] && grid[i][j]==1)
                {
                  int count=1;
                     dfs(i,j,n,m,grid,vis,count);
                    ans=max(ans,count);
                    
                }
            }
        }
        return ans;
        
        
        
        
    }
};
Comments (1)