Max Area of Island LeetCode solution in C++

1
class Solution {
2
public:
3
int cal(vector<vector<int>> &grid, int i, int j, int &m, int &n) {
4
if (i == m || j == n || i < 0 || j < 0 || grid[i][j] == 0) return 0;
5
grid[i][j] = 0;
6
return 1 + cal(grid, i, j + 1, m, n) + cal(grid, i + 1, j, m, n) + cal(grid, i, j - 1, m, n) +
7
cal(grid, i - 1, j, m, n);
8
}
9
int maxAreaOfIsland(vector<vector<int>> &grid) {
10
int m = grid.size(), n = grid[0].size(), maxArea = 0;
11
for (int i = 0; i < m; i++) {
12
for (int j = 0; j < n; j++) {
13
if (grid[i][j] == 1) {
14
int area = 0;
15
area = cal(grid, i, j, m, n);
16
maxArea = max(maxArea, area);
17
}
18
}
19
}
20
return maxArea;
21
}
22
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0