695 BFS DFS
// BFS
import java.util.Deque;
import java.util.LinkedList;
class Solution {
int[][] dirs;
int temp;
public int maxAreaOfIsland(int[][] grid) {
dirs = new int[][]{
{
1,0},{
-1,0},{
0,1},{
0,-1}};
int res = 0;
for (int i = 0; i < grid.length; i++) {
for (int j = 0; j < grid[0].length; j++) {
if(grid[i][j] == 1) {
temp = 0;
grid[i][j] = 0;
bfs(i, j, grid);
res = Math.max(res, temp);
}
}
}
return res;
}
private void bfs(int x, int y, int[][] grid){
Deque<int[]> queue = new LinkedList<>();
queue.offer(new int[]{
x, y});
while (!queue.isEmpty()){
int size = queue.size();
temp += size;
for (int i = 0; i < size; i++) {