Skip to content

Commit d3e1f01

Browse files
committed
Create: 695-Max-Area-of-Island.ts
1 parent 80f2565 commit d3e1f01

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

typescript/695-Max-Area-of-Island.ts

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
function maxAreaOfIsland(grid: number[][]): number {
2+
let directions = [
3+
[-1, 0],
4+
[1, 0],
5+
[0, -1],
6+
[0, 1],
7+
];
8+
9+
let rows = grid.length;
10+
let columns = grid[0].length;
11+
const dfs = (grid, r, c) => {
12+
let cells = 0;
13+
if (r < 0 || r >= rows || c < 0 || c >= columns || !grid[r][c])
14+
return 0;
15+
grid[r][c] = 0;
16+
directions.forEach(([dR, dC]) => (cells += dfs(grid, r + dR, c + dC)));
17+
18+
return cells + 1;
19+
};
20+
21+
let max = 0;
22+
23+
for (let i = 0; i < rows; i++) {
24+
for (let j = 0; j < columns; j++) {
25+
max = Math.max(max, dfs(grid, i, j));
26+
}
27+
}
28+
29+
return max;
30+
}

0 commit comments

Comments
 (0)