# LWC 53：695. Max Area of Island

## LWC 53：695. Max Area of Island

Problem:

Given a non-empty 2D array grid of 0’s and 1’s, an island is a group of 1’s (representing land) connected 4-directionally (horizontal or vertical.) You may assume all four edges of the grid are surrounded by water. Find the maximum area of an island in the given 2D array. (If there is no island, the maximum area is 0.)

Example 1:

[[0,0,1,0,0,0,0,1,0,0,0,0,0], [0,0,0,0,0,0,0,1,1,1,0,0,0], [0,1,1,0,1,0,0,0,0,0,0,0,0], [0,1,0,0,1,1,0,0,1,0,1,0,0], [0,1,0,0,1,1,0,0,1,1,1,0,0], [0,0,0,0,0,0,0,0,0,0,1,0,0], [0,0,0,0,0,0,0,1,1,1,0,0,0], [0,0,0,0,0,0,0,1,1,0,0,0,0]] Given the above grid, return 6. Note the answer is not 11, because the island must be connected 4-directionally.

Example 2:

[[0,0,0,0,0,0,0,0]] Given the above grid, return 0.

Note:

The length of each dimension in the given grid does not exceed 5

```    int[][] dir = {{1, 0},{-1, 0},{0, 1},{0, -1}};
public int maxAreaOfIsland(int[][] grid) {
int n = grid.length;
if (n == 0) return 0;
int m = grid[0].length;
if (m == 0) return 0;

int max = 0;
for (int i = 0; i < n; ++i) {
for (int j = 0; j < m; ++j) {
if (grid[i][j] == 1) {
max = Math.max(max, dfs(grid, i, j, n, m, new boolean[n][m]));
}
}
}

return max;
}

public int dfs(int[][] grid, int i, int j, int n, int m, boolean[][] vis) {
int res = 1;
vis[i][j] = true;
for (int[] d : dir) {
int nx = i + d[0];
int ny = j + d[1];
if (nx >= 0 && nx < n && ny >= 0 && ny < m && !vis[nx][ny] && grid[nx][ny] == 1) {
res += dfs(grid, nx, ny, n, m, vis);
}
}
return res;
}    ```

98 篇文章33 人订阅

0 条评论

## 相关文章

3125

952

4155

### PAT 1004 Counting Leaves

1004. Counting Leaves (30) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B ...

3778

### .NET Core装饰模式和.NET Core的Stream

Beverage是所有咖啡饮料的抽象类, 里面的cost方法是抽象的. description变量在每个子类里面都需要设置(表示对咖啡的描述).

41713

### Leetcode 210 Course Schedule II 拓扑排序

There are a total of n courses you have to take, labeled from 0 to n - 1. Som...

2145

1143

### pta 习题集5-19 列车厢调度

1 ====== <--移动方向 / 3 ===== \ 2 ====== ...

2966

2017

5595