Skip to content

Commit 5ec2e41

Browse files
committed
Runtime: 135 ms (Top 39.40%) | Memory: 45 MB (Top 74.80%)
1 parent 7208b7a commit 5ec2e41

File tree

1 file changed

+23
-22
lines changed

1 file changed

+23
-22
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,28 @@
1+
// Runtime: 135 ms (Top 39.40%) | Memory: 45 MB (Top 74.80%)
12
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;
3+
let result = 0;
4+
const M = grid.length;
5+
const N = grid[0].length;
6+
const isOutGrid = (m, n) => m < 0 || m >= M || n < 0 || n >= N;
7+
const island = (m, n) => grid[m][n] === 1;
8+
const dfs = (m, n) => {
9+
if (isOutGrid(m, n) || !island(m, n)) return 0;
910

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-
};
11+
grid[m][n] = 'X';
12+
const top = dfs(m - 1, n);
13+
const bottom = dfs(m + 1, n);
14+
const left = dfs(m, n - 1);
15+
const right = dfs(m, n + 1);
16+
return 1 + top + bottom + left + right;
17+
};
1718

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);
19+
for (let m = 0; m < M; m++) {
20+
for (let n = 0; n < N; n++) {
21+
if (!island(m, n)) continue;
22+
const area = dfs(m, n);
2223

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

0 commit comments

Comments
 (0)