当前位置: 首页 > article >正文

代码随想录算法训练营打卡第56天

前言

今天依旧是并查集的一天,一共有两题,第一道题感觉还可以,第二道题研究了之后直接放弃,感觉还不适合我现在的水平。。。


冗余连接

文章链接:代码随想录

题目链接:108. 冗余连接

本题的目的是找出多出来的那条边,其实也是用到并查集的原理,如果在题目中所说的树里,两个节点的根一样,那就不用再相连了,那就是说明这条边就是冗余的边,代码实现很简单,就是并查集的模板加剩余的处理,具体实现代码如下:

import java.util.*;

public class Main{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
int N=sc.nextInt();
Bcj bcj=new Bcj(N+1);

for(int i=0;i<N;i++){
int s=sc.nextInt();
int t=sc.nextInt();
if(bcj.isSame(s,t)){
System.out.println(s+" "+t);
}else{
bcj.join(s,t);
}
}
}
}



class Bcj{
private int[] father;
public Bcj(int N){
father=new int[N];
for(int i=0;i<N;i++){
father[i]=i;
}
}

public int find(int n){
return father[n]==n?n:(father[n]=find(father[n]));
}

public void join(int n,int m){
n=find(n);
m=find(m);
if(n==m) return;
father[m]=n;
}

public boolean isSame(int n,int m){
n=find(n);
m=find(m);
return n==m;
}
}

冗余连接II

文章链接:代码随想录

题目链接:109. 冗余连接II

这道题研究了之后看题解也是直接放弃的程度


http://www.kler.cn/a/534416.html

相关文章:

  • 8.攻防世界Web_php_wrong_nginx_config
  • 日期选择控件,时间跨度最大一年。
  • SpringUI Web高端动态交互元件库
  • Hugging Face GGUF 模型可视化
  • 深度剖析八大排序算法
  • 新春贺岁,共赴AGI之旅
  • leetcode:LCR 179. 查找总价格为目标值的两个商品(python3解法)
  • ES6 const 使用总结
  • 美团-测试开发面试
  • DeepSeek推理模型架构以及DeepSeek爆火的原因
  • Vue 3 30天精进之旅:Day 15 - 插件和指令
  • 【spring容器管理】bean的生命周期有哪些拓展点?
  • 个人毕业设计--基于HarmonyOS的旅行助手APP的设计与实现(挖坑)
  • Java程序员 面试如何介绍项目经验?
  • 一表总结 Java 的3种设计模式与6大设计原则
  • 蓝桥杯翻转
  • 【100%通过率 】【华为OD机试c++/java/python】日志采集系统【 E卷 | 2023 Q1 |100分】
  • Linux特权组全解析:识别GID带来的权限提升风险
  • C++初阶 -- vector容器的接口详解
  • 机器学习--python基础库之Matplotlib (1) 超级详细!!!
  • 现场流不稳定,EasyCVR视频融合平台如何解决RTSP拉流不能播放的问题?
  • Python|Pyppeteer实现链接并打开比特浏览器进行自动化操作(31)
  • 说一下Kafka你是怎么进行配置的?例如生产者配置和消费者配置
  • 一款wordpress AI免费插件自动内容生成+前端AI交互+文章批量采集
  • Spring @Lazy:延迟初始化,为应用减负
  • 【戒抖音系列】短视频戒除-1-对推荐算法进行干扰