LCR 105. 岛屿的最大面积
https://leetcode.cn/problems/ZL6zAn/
class Solution { public: void DFS(vector<vector<int>>& grid, int i, int j, int M, int N, int& sum) { if (grid[i][j] == 0 || grid[i][j] == 2) return; if (grid[i][j] == 1) { sum +=1; } // 防止重复 grid[i][j] = 2; // 上 下 左 右 if(i >= 1) DFS(grid, i-1, j, M, N, sum); if(i <= M-2) DFS(grid, i+1, j, M, N, sum); if(j >= 1) DFS(grid, i, j-1, M, N, sum); if(j <= N-2) DFS(grid, i, j+1, M, N, sum); } int maxAreaOfIsland(vector<vector<int>>& grid) { if (grid.empty()) return 0; int M = grid.size(); int N = grid[0].size(); int max_sum = 0; for (int i = 0; i < M; i++) { for (int j = 0; j < N; j++) { int sum = 0; DFS(grid, i, j, M, N, sum ); if (sum > max_sum) { max_sum = sum; } } } return max_sum; } };
浙公网安备 33010602011771号