Count Sub Islands LeetCode solution in JavaScript

1
var countSubIslands = function (grid1, grid2) {
2
const R = grid2.length,
3
C = grid2[0].length;
4

5
// returns no of cells in grid 2 not covered in grid1
6
function noOfNotCoveredDfs(i, j) {
7
if (i < 0 || j < 0) return 0;
8
if (i >= R || j >= C) return 0;
9
if (grid2[i][j] !== 1) return 0;
10

11
// mark visited
12
grid2[i][j] = 2;
13

14
return (
15
(grid1[i][j] === 1 ? 0 : 1) +
16
noOfNotCoveredDfs(i - 1, j) +
17
noOfNotCoveredDfs(i + 1, j) +
18
noOfNotCoveredDfs(i, j - 1) +
19
noOfNotCoveredDfs(i, j + 1)
20
);
21
}
22

23
let ans = 0;
24
for (let i = 0; i < R; i++) {
25
for (let j = 0; j < C; j++) {
26
if (grid2[i][j] === 1) {
27
if (noOfNotCoveredDfs(i, j) === 0) {
28
ans++;
29
}
30
}
31
}
32
}
33

34
return ans;
35
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0