比如
输入:[(A, B), (B, C), (X,Y)]
输出:[(A, B, C), (X, Y)]
即归并有相同元素的集合。
有没有现成的库?
或者自己实现的化思路是什么样的?
1
niknik 2019-03-13 16:41:04 +08:00
楼下帮我回一下,我上个厕所👇
|
2
shyrock 2019-03-13 16:42:55 +08:00
这不是元组列表吗。。。哪里有集合。。。
|
3
bumz 2019-03-13 17:01:10 +08:00
并查集?
|
5
ybbswc 2019-03-13 17:03:20 +08:00 via Android
首先判断是否有相同元素,有的话就作并集。楼下来吧。(ーー;)
|
6
bumz 2019-03-13 17:33:08 +08:00
亲测并查集可行,复杂度 O(n),n 为输入中唯一元素的个数 * 每种元素平均出现次数
https://gist.github.com/bumfo/26fc4865e27b48385ed650cd08fe6004 |
10
lasuar 2019-03-13 17:50:19 +08:00
```
a = [(1,2), (2,3)] b = [(1,2)] print(set(a) | set(b)) ``` |
11
strict 2019-03-13 18:36:38 +08:00
复杂度目前想到的全是 m*n
|