图论第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

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

相关推荐
皮皮林55117 小时前
拒绝写重复代码,试试这套开源的 SpringBoot 组件,效率翻倍~
java·spring boot
归去_来兮18 小时前
拉格朗日插值算法原理及简单示例
算法·数据分析·拉格朗日插值
顺风尿一寸20 小时前
从 Java NIO poll 到 Linux 内核 poll:一次系统调用的完整旅程
java
程途知微20 小时前
JVM运行时数据区各区域作用与溢出原理
java
华仔啊1 天前
为啥不用 MP 的 saveOrUpdateBatch?MySQL 一条 SQL 批量增改才是最优解
java·后端
千寻girling1 天前
Python 是用来做 AI 人工智能 的 , 不适合开发 Web 网站 | 《Web框架》
人工智能·后端·算法
xiaoye20181 天前
Lettuce连接模型、命令执行、Pipeline 浅析
java
颜酱1 天前
一步步实现字符串计算器:从「转整数」到「带括号与优化」
javascript·后端·算法
beata1 天前
Java基础-18:Java开发中的常用设计模式:深入解析与实战应用
java·后端
Seven971 天前
剑指offer-81、⼆叉搜索树的最近公共祖先
java