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

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);
    }
}
``
posted @   Eiffelzero  阅读(21)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
点击右上角即可分享
微信分享提示