题目

思路

具体代码
class Solution {
public int maxAreaOfIsland(int[][] grid) {
if(grid == null || grid.length == 0 || grid[0].length == 0){
return 0;
}
int res = 0;
for(int i = 0;i < grid.length;i++){
for(int j = 0;j < grid[0].length;j++){
res = Math.max(res,dfs(i,j,grid));
}
}
return res;
}
public int dfs(int i, int j,int[][] grid){
if(i < 0|| j < 0|| i >= grid.length || j >= grid[0].length||grid[i][j] == 0){
return 0;
}
grid[i][j] = 0;
int nums = 1;
nums += dfs(i+1,j,grid);
nums += dfs(i-1,j,grid);
nums += dfs(i,j+1,grid);
nums += dfs(i,j-1,grid);
return nums;
}
}
1755

被折叠的 条评论
为什么被折叠?



