图论第7天

今天去打了会羽毛球。最近还是有点累啊,今天尽量效率

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

第一步是先整init

第二步先把该关联的关联

第三步判断是否有路

cpp 复制代码
class Solution {
private:
    int nMax = 200005;
    vector<int>father = vector<int>(nMax,0);
    void init(int num){
        for(int i = 0;i < num;i++){father[i] = i;
        }
    }
    int find(int x){
        return x == father[x] ? x : father[x] = find(father[x]);
    }
    bool isSame(int a,int b){
        a = find(a);
        b = find(b);
        return a == b;
    }
    void join(int a ,int b){
        a = find(a);
        b = find(b);
        if(a == b)return;
        father[b] = a;
    }
public:
    bool validPath(int n, vector<vector<int>>& edges, int source, int destination) {
        init(n);
        for(int i = 0;i < edges.size();i++){
            join(edges[i][0],edges[i][1]);
        }
        return isSame(source,destination);
    }
};

684.冗余连接

其实做的事就是不断的搭桥,直到哪个用不上,就return。

cpp 复制代码
class Solution {
private:
    int nMax = 1005;
    vector<int>father = vector<int>(nMax,0);
    void init(){
        for(int i = 0;i < nMax;i++){
            father[i] = i;
        }
    }
    int find(int x){
        return x == father[x]? x : father[x] = find(father[x]);
    }
    bool isSame(int a , int b){
        a = find(a);
        b = find(b);
        return a == b;
    }
    void join(int a , int b){
        a = find(a);
        b = find(b);
        if(a == b)return;
        father[b] = a;
    }

public:
    vector<int> findRedundantConnection(vector<vector<int>>& edges) {
        init();
        for(int i = 0; i < edges.size();i++){
            if(isSame(edges[i][0],edges[i][1]))return edges[i];
            else join(edges[i][0],edges[i][1]);
        }
        return {};
    }
};

685.冗余连接II

有点难的那种,今天有点晚啦,先洗澡去啦,后面补上。

相关推荐
道可到18 分钟前
Java 反射现代实践速查表(JDK 11+/17+)
java
Fanxt_Ja25 分钟前
【LeetCode】算法详解#15 ---环形链表II
数据结构·算法·leetcode·链表
侃侃_天下26 分钟前
最终的信号类
开发语言·c++·算法
道可到29 分钟前
Java 反射现代实践指南(JDK 11+ / 17+ 适用)
java
茉莉玫瑰花茶37 分钟前
算法 --- 字符串
算法
玉衡子39 分钟前
九、MySQL配置参数优化总结
java·mysql
叽哥40 分钟前
Kotlin学习第 8 课:Kotlin 进阶特性:简化代码与提升效率
android·java·kotlin
麦兜*42 分钟前
MongoDB Atlas 云数据库实战:从零搭建全球多节点集群
java·数据库·spring boot·mongodb·spring·spring cloud
带刺的坐椅43 分钟前
DamiBus v1.1.0 发布(给单体多模块解耦)
java·事件总线·damibus
葡萄城技术团队43 分钟前
用 Java 构建健壮 REST API 的 4 个关键技巧
java