Skip to content

Commit 8e64eb4

Browse files
authored
Create 1905-count-sub-islands.js
1 parent f0f1ed3 commit 8e64eb4

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

1905-count-sub-islands.js

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/**
2+
* @param {number[][]} grid1
3+
* @param {number[][]} grid2
4+
* @return {number}
5+
*/
6+
const countSubIslands = function(grid1, grid2) {
7+
let m = grid2.length, n = grid2[0].length, res = 0;
8+
for (let i = 0; i < m; i++) {
9+
for (let j = 0; j < n; j++) {
10+
if (grid2[i][j] === 1) res += dfs(grid1, grid2, i, j);
11+
}
12+
}
13+
return res;
14+
};
15+
16+
function dfs(B, A, i, j) {
17+
let m = A.length, n = A[0].length, res = 1;
18+
if (i < 0 || i == m || j < 0 || j == n || A[i][j] == 0) return 1;
19+
A[i][j] = 0;
20+
res &= dfs(B, A, i - 1, j);
21+
res &= dfs(B, A, i + 1, j);
22+
res &= dfs(B, A, i, j - 1);
23+
res &= dfs(B, A, i, j + 1);
24+
return res & B[i][j];
25+
}

0 commit comments

Comments
 (0)