Skip to content

Commit 2f52037

Browse files
authored
fix: fix typescript solution to locf problem: No.0695.Max Area of Island (doocs#467)
1 parent 77beee9 commit 2f52037

File tree

3 files changed

+18
-30
lines changed

3 files changed

+18
-30
lines changed

solution/0600-0699/0695.Max Area of Island/README.md

+6-10
Original file line numberDiff line numberDiff line change
@@ -109,30 +109,26 @@ class Solution {
109109
```ts
110110
function maxAreaOfIsland(grid: number[][]): number {
111111
let m = grid.length, n = grid[0].length;
112-
let visited = Array.from({ length: m }, v => new Array(n).fill(false));
113112
let res = 0;
114113
for (let i = 0; i < m; ++i) {
115114
for (let j = 0; j < n; ++j) {
116-
if (!visited[i][j]) {
117-
res = Math.max(dfs(grid, i, j, visited), res);
115+
if (grid[i][j] == 1) {
116+
res = Math.max(dfs(grid, i, j), res);
118117
}
119118
}
120119
}
121120
return res;
122121
};
123122

124-
function dfs(grid: number[][], i: number, j: number, visited: boolean[][]): number {
123+
function dfs(grid: number[][], i: number, j: number): number {
125124
let m = grid.length, n = grid[0].length;
126-
if (i < 0 || i > m - 1 || j < 0 || j > n - 1 || visited[i][j]) {
127-
return 0;
128-
}
129-
visited[i][j] = true;
130-
if (grid[i][j] == 0) {
125+
if (i < 0 || i > m - 1 || j < 0 || j > n - 1 || grid[i][j] == 0) {
131126
return 0;
132127
}
128+
grid[i][j] = 0;
133129
let res = 1;
134130
for (let [dx, dy] of [[0, 1], [0, -1], [1, 0], [-1, 0]]) {
135-
res += dfs(grid, i + dx, j + dy, visited);
131+
res += dfs(grid, i + dx, j + dy);
136132
}
137133
return res;
138134
}

solution/0600-0699/0695.Max Area of Island/README_EN.md

+6-10
Original file line numberDiff line numberDiff line change
@@ -120,30 +120,26 @@ class Solution {
120120
```ts
121121
function maxAreaOfIsland(grid: number[][]): number {
122122
let m = grid.length, n = grid[0].length;
123-
let visited = Array.from({ length: m }, v => new Array(n).fill(false));
124123
let res = 0;
125124
for (let i = 0; i < m; ++i) {
126125
for (let j = 0; j < n; ++j) {
127-
if (!visited[i][j]) {
128-
res = Math.max(dfs(grid, i, j, visited), res);
126+
if (grid[i][j] == 1) {
127+
res = Math.max(dfs(grid, i, j), res);
129128
}
130129
}
131130
}
132131
return res;
133132
};
134133

135-
function dfs(grid: number[][], i: number, j: number, visited: boolean[][]): number {
134+
function dfs(grid: number[][], i: number, j: number): number {
136135
let m = grid.length, n = grid[0].length;
137-
if (i < 0 || i > m - 1 || j < 0 || j > n - 1 || visited[i][j]) {
138-
return 0;
139-
}
140-
visited[i][j] = true;
141-
if (grid[i][j] == 0) {
136+
if (i < 0 || i > m - 1 || j < 0 || j > n - 1 || grid[i][j] == 0) {
142137
return 0;
143138
}
139+
grid[i][j] = 0;
144140
let res = 1;
145141
for (let [dx, dy] of [[0, 1], [0, -1], [1, 0], [-1, 0]]) {
146-
res += dfs(grid, i + dx, j + dy, visited);
142+
res += dfs(grid, i + dx, j + dy);
147143
}
148144
return res;
149145
}
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,25 @@
11
function maxAreaOfIsland(grid: number[][]): number {
22
let m = grid.length, n = grid[0].length;
3-
let visited = Array.from({ length: m }, v => new Array(n).fill(false));
43
let res = 0;
54
for (let i = 0; i < m; ++i) {
65
for (let j = 0; j < n; ++j) {
7-
if (!visited[i][j]) {
8-
res = Math.max(dfs(grid, i, j, visited), res);
6+
if (grid[i][j] == 1) {
7+
res = Math.max(dfs(grid, i, j), res);
98
}
109
}
1110
}
1211
return res;
1312
};
1413

15-
function dfs(grid: number[][], i: number, j: number, visited: boolean[][]): number {
14+
function dfs(grid: number[][], i: number, j: number): number {
1615
let m = grid.length, n = grid[0].length;
17-
if (i < 0 || i > m - 1 || j < 0 || j > n - 1 || visited[i][j]) {
18-
return 0;
19-
}
20-
visited[i][j] = true;
21-
if (grid[i][j] == 0) {
16+
if (i < 0 || i > m - 1 || j < 0 || j > n - 1 || grid[i][j] == 0) {
2217
return 0;
2318
}
19+
grid[i][j] = 0;
2420
let res = 1;
2521
for (let [dx, dy] of [[0, 1], [0, -1], [1, 0], [-1, 0]]) {
26-
res += dfs(grid, i + dx, j + dy, visited);
22+
res += dfs(grid, i + dx, j + dy);
2723
}
2824
return res;
2925
}

0 commit comments

Comments
 (0)