Skip to content

Commit 11bf0a4

Browse files
committedJul 3, 2021
Time: 28 ms (41.51%), Space: 23.2 MB (89.25%) - LeetHub
1 parent a23efdd commit 11bf0a4

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed
 
+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
class Solution {
2+
public:
3+
int dx[4] = {0, 0, 1, -1};
4+
int dy[4] = {1, -1, 0, 0};
5+
6+
bool valid(int r, int c, int n, int m){
7+
return (r >= 0 and r < n and c >= 0 and c < m);
8+
}
9+
10+
void dfs(vector<vector<int>>& grid, int i, int j, int n, int m, int& cnt){
11+
grid[i][j] = 0;
12+
cnt++;
13+
14+
for(int k = 0; k < 4; k++){
15+
int r = i + dx[k];
16+
int c = j + dy[k];
17+
18+
if(valid(r, c, n, m) and grid[r][c] == 1)
19+
dfs(grid, r, c, n, m, cnt);
20+
}
21+
}
22+
23+
int maxAreaOfIsland(vector<vector<int>>& grid) {
24+
int n = grid.size();
25+
int m = grid[0].size();
26+
27+
int sz = 0;
28+
for(int i = 0; i < n; i++){
29+
for(int j = 0; j < m; j++){
30+
if(grid[i][j] == 1){
31+
int cnt = 0;
32+
33+
dfs(grid, i, j, n, m, cnt);
34+
sz = max(sz, cnt);
35+
}
36+
}
37+
}
38+
39+
return sz;
40+
}
41+
};

0 commit comments

Comments
 (0)