File tree 1 file changed +31
-0
lines changed
src/main/java/com/geekidentity/leetcode/n0695
1 file changed +31
-0
lines changed Original file line number Diff line number Diff line change
1
+ package com .geekidentity .leetcode .n0695 ;
2
+
3
+ public class MaxAreaOfIsland {
4
+ public int maxAreaOfIsland (int [][] grid ) {
5
+ int maxArea = 0 ;
6
+ for (int row = 0 ; row < grid .length ; row ++) {
7
+ for (int col = 0 ; col < grid [0 ].length ; col ++) {
8
+ if (grid [row ][col ] == 1 ) {
9
+ int area = area (grid , row , col );
10
+ maxArea = Math .max (area , maxArea );
11
+ }
12
+ }
13
+ }
14
+ return maxArea ;
15
+ }
16
+
17
+ public int area (int [][] grid , int row , int col ) {
18
+ if (!inArea (grid , row , col )) return 0 ;
19
+ if (grid [row ][col ] != 1 ) return 0 ;
20
+ grid [row ][col ] = 2 ;
21
+ return 1 +
22
+ area (grid , row - 1 , col ) +
23
+ area (grid , row + 1 , col ) +
24
+ area (grid , row , col - 1 ) +
25
+ area (grid , row , col + 1 );
26
+ }
27
+
28
+ public boolean inArea (int [][] grid , int row , int col ) {
29
+ return 0 <= row && row < grid .length && 0 <= col && col < grid [0 ].length ;
30
+ }
31
+ }
You can’t perform that action at this time.
0 commit comments