书接上回。一样的模板只需要引入个max就好。
(72条消息) 典中典之算法dfs问题(leetcode:200)岛屿问题_看完不点赞指定有你好果汁吃的的博客-CSDN博客https://blog.csdn.net/weixin_61672734/article/details/124591422?spm=1001.2014.3001.5501
public class Solution {
public int maxAreaOfIsland(int[][] grid) {
int max=0;
int row= grid.length;
int lie= grid[0].length;
for(int i=0;i<row;i++)
{for(int j=0;j<lie;j++){
if(grid[i][j]==1) {
max = Math.max(dfs(grid, i, j), max);
}
}
}
return max;
}
public int dfs(int[][] grid, int x, int y){
int row= grid.length;
int lie= grid[0].length;
if(x>=row||y>=lie||x<0||y<0||grid[x][y]==0){
return 0;
}
grid[x][y]=0;
int max=1;
max+= dfs(grid, x-1,y);
max+=dfs(grid, x+1,y);
max+=dfs(grid, x,y+1);
max+=dfs(grid, x,y-1);
return max;
}
}
个人感觉比官方题解好理解一些 。
这篇我懒了没写注解 因为有不明白的地方都可以找之前的那篇的注解看。