-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathMain200.java
More file actions
37 lines (32 loc) · 964 Bytes
/
Main200.java
File metadata and controls
37 lines (32 loc) · 964 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package HOT100;
import java.util.Arrays;
public class Main200 {
public int numIslands(char[][] grid) {
int n = grid.length;
int m = grid[0].length;
boolean[][] isUsed = new boolean[n][m];
Arrays.fill(isUsed, false);
int num=0;
for(int i=0; i<n; i++){
for(int j=0; j<m; j++){
if(isUsed[i][j]==false){
num++;
backstack(grid, isUsed, i, j, n, m);
}
}
}
return num;
}
void backstack(char[][] grid, boolean[][] isUsed, int i, int j, int n, int m){
if(i>=m || i<0 || j>=n || j<0){
return;
}
isUsed[i][j]=true;
backstack(grid, isUsed, i+1, j, n, m);
backstack(grid, isUsed, i-1, j, n, m);
backstack(grid, isUsed, i, j+1, n, m);
backstack(grid, isUsed, i, j-1, n, m);
}
public static void main(String[] args) {
}
}