1
2
这有点冗长,但我认为这是一个相当有效的解决方案。它利用了这样一个事实:当两个集合相交时,我们可以将它们都标记为连通的。它通过将标志列表与集合列表保持相同的长度来实现这一点。当设置
我决定连接一个空的集合列表(如果您生成一个列表元素,我可以生成一个与之相交的元素;)。一个只有一个元素的列表被琐碎地断开连接。无论哪种情况,如果你不同意,都可以改变。 |
2
13
|
3
5
下面是一个非常简单的解决方案,它对大输入非常有效:
|
4
2
这里有一个更有效的(如果更复杂的话)解决方案,它执行一个线性的交叉数和多个O(n*log(n))阶的并集,其中n是
请注意,此解决方案仅适用于python>=2.6。 |
5
1
像往常一样,我想给不可避免的
这真的很懒惰,只会做需要的交叉点。它也可能是一个非常混乱和不可读的一行程序;-) |
6
1
要回答你的问题,不,没有一个内置的或简单的列表理解可以满足你的需要。这是另外一个
|
7
0
这种策略可能不如@victor的建议有效,但可能比
jchl's answer
由于集合算法的使用增加(
|
8
0
根据集合的分布情况,这可能会提供更好的性能。
|
July · 如何定义数字间隔,然后四舍五入 1 年前 |
user026 · 如何根据特定窗口的平均值(行数)创建新列? 1 年前 |
Ashok Shrestha · 需要追踪特定的颜色线并获取坐标 1 年前 |
Nicote Ool · 在FastApi和Vue3中获得422 1 年前 |
Abdulaziz · 如何对集合内的列表进行排序[重复] 1 年前 |
asmgx · 为什么合并数据帧不能按照python中的预期方式工作 1 年前 |