首页 > 其他分享 >1971. 寻找图中是否存在路径

1971. 寻找图中是否存在路径

时间:2022-12-19 18:11:38浏览次数:73  
标签:路径 int 查集 1971 edge edges 图中 find

1971. 寻找图中是否存在路径

题解:并查集
并查集模板题

  1. 判断两个点是否在同一个连通块
class Solution {
    int[] p = new int[200010];

    int find(int x)
    {
        if (p[x] != x) p[x] = find(p[x]);
        return p[x];
    }

    // 并查集
    public boolean validPath(int n, int[][] edges, int source, int destination) {
        for (int i = 0; i < n; i++) {
            p[i] = i;
        }
        for (int i = 0; i < edges.length; i++) {
            int[] edge = edges[i];
            int x = find(edge[0]);
            int y = find(edge[1]);
            if (x != y) {
                p[x] = y;
            }
        }
        return find(source) == find(destination);
    }
}
``

标签:路径,int,查集,1971,edge,edges,图中,find
From: https://www.cnblogs.com/eiffelzero/p/16992793.html

相关文章