力扣每日一题2022-02-12中等题:飞地的数量
飞地的数量
题目描述思路DFSJava实现Python实现
题目描述
飞地的数量
思路
DFS
根据题意,如果从一个陆地单元格无法移动到网格边界,则这个陆地单元格是飞地。则与边界相连的陆地单元格都不是飞地,不直接相连的单元格才可能是飞地。 因此可以从网格边界的每个陆地单元格开始深度优先搜索,遍历完之后,所有与网格边界相连的陆地单元格都被访问过了。然后遍历整个网格,如果网格中的一个陆地单元格没有被访问过,则该陆地单元格不和网格边界相连,是飞地。
Java实现
class Solution {
public static int[][] dirs = {{-1, 0}, {1, 0}, {0, -1}, {0, 1}};
private int m, n;
private boolean[][] visited;
共有 0 条评论