Skip to content

Commit bae5ad7

Browse files
committed
Update 1020. 飞地的数量.md
1 parent 0ce1f51 commit bae5ad7

File tree

1 file changed

+39
-4
lines changed

1 file changed

+39
-4
lines changed

Solutions/1020. 飞地的数量.md

Lines changed: 39 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,46 @@
55

66
## 题目大意
77

8-
给定一个二维数组 `grid`,每个单元格为 `0`(代表海)或 `1`(代表陆地)。我们可以从一个陆地走到另一个陆地上(朝四个方向之一),然后从边界上的陆地离开网络的边界。
8+
**描述**给定一个二维数组 `grid`,每个单元格为 `0`(代表海)或 `1`(代表陆地)。我们可以从一个陆地走到另一个陆地上(朝四个方向之一),然后从边界上的陆地离开网络的边界。
99

10-
要求:返回网格中无法在任意次数的移动中离开网格边界的陆地单元格的数量。
10+
**要求**:返回网格中无法在任意次数的移动中离开网格边界的陆地单元格的数量。
11+
12+
**说明**
13+
14+
- $m == grid.length$。
15+
- $n == grid[i].length$。
16+
- $1 \le m, n \le 500$。
17+
- $grid[i][j]$ 的值为 $0$ 或 $1$。
18+
19+
**示例**
20+
21+
![](https://assets.leetcode.com/uploads/2021/02/18/enclaves1.jpg)
22+
23+
```Python
24+
输入:grid = [[0,0,0,0],[1,0,1,0],[0,1,1,0],[0,0,0,0]]
25+
输出:3
26+
解释:有三个 10 包围。一个 1 没有被包围,因为它在边界上。
27+
```
28+
29+
![](https://assets.leetcode.com/uploads/2021/02/18/enclaves2.jpg)
30+
31+
```Python
32+
输入:grid = [[0,1,1,0],[0,0,1,0],[0,0,1,0],[0,0,0,0]]
33+
输出:0
34+
解释:所有 1 都在边界上或可以到达边界。
35+
```
1136

1237
## 解题思路
1338

14-
与四条边界相连的陆地单元是肯定能离开网络边界的。先通过深度优先搜索将与四条边界相关的陆地全部变为海(赋值为 `0`)。然后统计网格中 `1` 的数量即为答案。
39+
### 思路 1:深度优先搜索
40+
41+
与四条边界相连的陆地单元是肯定能离开网络边界的。
1542

16-
## 代码
43+
我们可以先通过深度优先搜索将与四条边界相关的陆地全部变为海(赋值为 `0`)。
44+
45+
然后统计网格中 `1` 的数量,即为答案。
46+
47+
### 思路 1:代码
1748

1849
```Python
1950
class Solution:
@@ -54,3 +85,7 @@ class Solution:
5485
return ans
5586
```
5687

88+
### 思路 1:复杂度分析
89+
90+
- **时间复杂度**:$O(m \times n)$。其中 $m$ 和 $n$ 分别为行数和列数。
91+
- **空间复杂度**:$O(m \times n)$。

0 commit comments

Comments
 (0)