695. 岛屿的最大面积(深搜)

Posted niboss

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了695. 岛屿的最大面积(深搜)相关的知识,希望对你有一定的参考价值。

技术图片

递归算法真是太优美了

 1 /**
 2  * Definition for singly-linked list.
 3  * public class ListNode {
 4  *     int val;
 5  *     ListNode next;
 6  *     ListNode(int x) { val = x; }
 7  * }
 8  */
 9 class Solution {
10     static int Area,Col,Row,temp;
11     static int[][] grid;
12     static int[][] dxy={{0,1},{1,0},{0,-1},{-1,0}}; //四联通分量
13 
14     private void dfs(int i,int j){
15         temp++;
16         grid[i][j]=0; //移除已计算岛屿块
17         for(int k=0;k<4;k++){
18             int x=i+dxy[k][0],y=j+dxy[k][1];
19             if(x>=0&&x<Col&&y>=0&&y<Row&&grid[x][y]==1) dfs(x,y);
20         }
21     }
22 
23     public int maxAreaOfIsland(int[][] grid) {
24         //初始全局变量
25         Area=0;
26         Col=grid.length;
27         Row=grid[0].length;
28         this.grid=grid;
29         //循环入口
30         for(int i=0;i<grid.length;i++){
31             for(int j=0;j<grid[0].length;j++){
32                 if(grid[i][j]==1){ //
33                     temp=0;  //设置初始面积值
34                     dfs(i,j); //递归搜索
35                     if(Area<temp) Area=temp; //该岛屿与已记录岛屿块面积值进行比较
36                 }
37             }
38         }
39         return Area;
40     }
41 }

 

以上是关于695. 岛屿的最大面积(深搜)的主要内容,如果未能解决你的问题,请参考以下文章

695. 岛屿的最大面积

695. 岛屿的最大面积(dfs)

leetcode695.岛屿的最大面积

Leetcode 695.岛屿的最大面积

Python BFS 695. 岛屿的最大面积

LeetCode-695. 岛屿的最大面积