题目:695. 岛屿的最大面积
参考:岛屿的最大面积(简单的递归、图解)
int dx[4]={-1,1,0,0},dy[4]={0,0,-1,1};
class Solution {
public:
int dfs(vector<vector<int>>& grid,int i,int j){
if(i<0||i>=grid.size()||j<0||j>=grid[0].size()) return 0;
if(grid[i][j]==0) return 0;
int ans = 1;
grid[i][j] = 0;
for(int ii=0;ii<4;ii++){
int x = i+dx[ii],y = j+dy[ii];
ans += dfs(grid,x,y);
}
return ans;
}
int maxAreaOfIsland(vector<vector<int>>& grid) {
int res = 0;
for(int i=0;i<grid.size();i++){
for(int j=0;j<grid[0].size();j++){
res = max(res,dfs(grid,i,j));
}
}
return res;
}
};