684. 冗余连接

难度中等260收藏分享切换为英文接收动态反馈

在本问题中, 树指的是一个连通且无环的无向图。

输入一个图,该图由一个有着N个节点 (节点值不重复1, 2, ..., N) 的树及一条附加的边构成。附加的边的两个顶点包含在1到N中间,这条附加的边不属于树中已存在的边。

结果图是一个以组成的二维数组。每一个的元素是一对[u, v] ,满足 u < v,表示连接顶点u 和v无向图的边。

返回一条可以删去的边,使得结果图是一个有着N个节点的树。如果有多个答案,则返回二维数组中最后出现的边。答案边 [u, v] 应满足相同的格式 u < v

示例 1:

输入: [[1,2], [1,3], [2,3]]
输出: [2,3]
解释: 给定的无向图为:1/ \
2 - 3

示例 2:

输入: [[1,2], [2,3], [3,4], [1,4], [1,5]]
输出: [1,4]
解释: 给定的无向图为:
5 - 1 - 2|   |4 - 3

注意:

  • 输入的二维数组大小在 3 到 1000。
  • 二维数组中的整数在1到N之间,其中N是输入数组的大小。

更新(2017-09-26):
我们已经重新检查了问题描述及测试用例,明确图是无向 图。对于有向图详见冗余连接II。对于造成任何不便,我们深感歉意。

class dsu:def __init__(self,n):self.n=nself.rk=[1]*(n+1)self.f=list(range(n+1))def find(self,x):if self.f[x]!=x:self.f[x]=self.find(self.f[x])return self.f[x]def mer(self,x,y):fx,fy=self.find(self.f[x]),self.find(self.f[y])if fx==fy:returnif self.rk[fx]<self.rk[fy]:fx,fy=fy,fxself.rk[fx]+=self.rk[fy]self.f[fy]=fxclass Solution:def findRedundantConnection(self, edges: List[List[int]]) -> List[int]:dsu1=dsu(len(edges))for x,y in edges:if x>y:x,y=y,xfx,fy=dsu1.find(dsu1.f[x]),dsu1.find(dsu1.f[y])if fx==fy:return [x,y]dsu1.mer(x,y)return []

Leetcode 684. 冗余连接(dsu,氵)相关推荐

  1. LeetCode 684. 冗余连接(并查集)

    1. 题目 在本问题中, 树指的是一个连通且无环的无向图. 输入一个图,该图由一个有着N个节点 (节点值不重复1, 2, -, N) 的树及一条附加的边构成.附加的边的两个顶点包含在1到N中间,这条附 ...

  2. leetcode 684. 冗余连接()

    在本问题中, 树指的是一个连通且无环的无向图. 输入一个图,该图由一个有着N个节点 (节点值不重复1, 2, -, N) 的树及一条附加的边构成.附加的边的两个顶点包含在1到N中间,这条附加的边不属于 ...

  3. Leetcode 684: 冗余连接 Redundant Connection

    中文描述: 在本问题中, 树指的是一个连通且无环的无向图. 输入一个图,该图由一个有着N个节点 (节点值不重复1, 2, -, N) 的树及一条附加的边构成.附加的边的两个顶点包含在1到N中间,这条附 ...

  4. LeetCode 685. 冗余连接 II(并查集)

    1. 题目 在本问题中,有根树指满足以下条件的有向图.该树只有一个根节点,所有其他节点都是该根节点的后继. 每一个节点只有一个父节点,除了根节点没有父节点. 输入一个有向图,该图由一个有着N个节点 ( ...

  5. leetcode 684. Redundant Connection | 684. 冗余连接(并查集)

    题目 https://leetcode.com/problems/redundant-connection/ 题解 并查集问题 1)有若干个样本a.b.c.d-类型假设是V 2)在并查集中一开始认为每 ...

  6. LeetCode 685. 冗余连接 II

    文章目录 解法1:并查集 https://leetcode-cn.com/problems/redundant-connection-ii/ 难度:困难   在本问题中,有根树指满足以下条件的有向图. ...

  7. Leetcode 685. 冗余连接 II Redundant Connection II

    中文描述: 在本问题中,有根树指满足以下条件的 有向 图.该树只有一个根节点,所有其他节点都是该根节点的后继.该树除了根节点之外的每一个节点都有且只有一个父节点,而根节点没有父节点. 输入一个有向图, ...

  8. leetcode之DFS+BFS+DSU刷题总结2

    leetcode之DFS+BFS+DSU刷题总结2 1-对称二叉树 题目链接:题目链接戳这里!!! 思路1:迭代法 一棵二叉树,左右子树分别进队,如果左右子树都为空,则结束遍历,如果左右子树仅一个为空 ...

  9. LeetCode 1640. 能否连接形成数组(哈希)

    文章目录 1. 题目 2. 解题 1. 题目 给你一个整数数组 arr ,数组中的每个整数 互不相同 . 另有一个由整数数组构成的数组 pieces,其中的整数也 互不相同 .请你以 任意顺序 连接 ...

  10. LeetCode 555. 分割连接字符串

    文章目录 1. 题目 2. 解题 1. 题目 给定一个字符串列表,你可以将这些字符串连接成一个循环字符串,对于每个字符串,你可以选择是否翻转它. 在所有可能的循环字符串中,你需要分割循环字符串(这将使 ...

最新文章

  1. 排序算法(更新ing)(C语言实现)(认真的不像实力派)
  2. malloc和new的区别是什么?
  3. ICS汇编学习笔记——8086中的寄存器
  4. http压缩方法(IIS 6.0 与IIS 7.0的详解)
  5. java两个很大的数相加_两个超大数的相加
  6. CM: UPDATE_PAYLOAD_FROM_ADDINSCH
  7. 【JAVA 第三章 流程控制语句】课后习题 计算两个日期之间的天数
  8. IE6不支持hover赋予css样式的解决方法 如div:hover li:hover支持
  9. 不确定性原理的前世今生 · 数学篇(三)
  10. 怎样使按钮响应回车键
  11. sigar 获取跨平台服务器信息
  12. oracle 脚本定时,Oracle定时任务备份脚本
  13. Unity UnityWebRequest使用方法
  14. OpenStack 从ISO启动并安装VM
  15. plsql误删除数据,怎么恢复?
  16. C语言 AES加解密
  17. 第二周:java异常和常用类 容器
  18. 女生适合干【长期第一线编程工作】 男生能干的女生照样可以做的更好
  19. 拉里·埃里森亲自支招,数据库自动化之后,DBA何去何从?
  20. leetcode-838:推多米诺

热门文章

  1. Required request body is missing 问题解决
  2. Linux S3C2440 学习笔记02
  3. WordPress文章页面获取评论次数
  4. 成长篇之代码灵异事件
  5. Spring Boot使用RabbitMQ出现诡异异常:Failed to send reply with payload 'OK',Cannot determine ReplyTo message
  6. python世界杯问题
  7. Vue使用Upload上传图片报错:TypeError: Cannot create property 'xxx' on string 'xxxx'
  8. 专访 HackerOne COO 王宁:尊重规则是漏洞平台成功的秘诀,欢迎更多成人网站进驻 | 宅客...
  9. 【TcaplusDB知识库】读取数据示例(TDR表)
  10. Linux 下街机模拟器 mame 安装