Max Area of Island LeetCode solution in JavaScript

1
var maxAreaOfIsland = function (grid) {
2
let result = 0;
3
const M = grid.length;
4
const N = grid[0].length;
5
const isOutGrid = (m, n) => m < 0 || m >= M || n < 0 || n >= N;
6
const island = (m, n) => grid[m][n] === 1;
7
const dfs = (m, n) => {
8
if (isOutGrid(m, n) || !island(m, n)) return 0;
9

10
grid[m][n] = "X";
11
const top = dfs(m - 1, n);
12
const bottom = dfs(m + 1, n);
13
const left = dfs(m, n - 1);
14
const right = dfs(m, n + 1);
15
return 1 + top + bottom + left + right;
16
};
17

18
for (let m = 0; m < M; m++) {
19
for (let n = 0; n < N; n++) {
20
if (!island(m, n)) continue;
21
const area = dfs(m, n);
22

23
result = Math.max(area, result);
24
}
25
}
26
return result;
27
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0