Python 从给定的集合生成集合,例如it';s与所有集合的交集不同于{}
我一直在试图找出一个有效的算法,它返回一个集合,比如它与给定集合的交集不等于Python 从给定的集合生成集合,例如it';s与所有集合的交集不同于{},python,set,Python,Set,我一直在试图找出一个有效的算法,它返回一个集合,比如它与给定集合的交集不等于{} 例如:假设给定的集合是{1,7,4}、{2,8,5}、{1,3}、{2,6}函数必须返回集合{1,2},因为它与所有给定集合有一个交点(生成的集合需要尽可能小)是否有必要使组合集合尽可能小?如果没有,这将起作用: A = [{1,7,4},{2,8,5},{1,3},{2,6}] combinedSet = set() for a in A: combinedSet |= a print(combinedS
{}
例如:假设给定的集合是
{1,7,4}、{2,8,5}、{1,3}、{2,6}
函数必须返回集合{1,2}
,因为它与所有给定集合有一个交点(生成的集合需要尽可能小)是否有必要使组合集合尽可能小?如果没有,这将起作用:
A = [{1,7,4},{2,8,5},{1,3},{2,6}]
combinedSet = set()
for a in A:
combinedSet |= a
print(combinedSet)
注释中建议的另一种更简洁的方法:
A = [{1,7,4},{2,8,5},{1,3},{2,6}]
combinedSet = set.union(*A)
print(combinedSet)
是否有必要使组合装置尽可能小?如果没有,这将起作用:
A = [{1,7,4},{2,8,5},{1,3},{2,6}]
combinedSet = set()
for a in A:
combinedSet |= a
print(combinedSet)
注释中建议的另一种更简洁的方法:
A = [{1,7,4},{2,8,5},{1,3},{2,6}]
combinedSet = set.union(*A)
print(combinedSet)
这是一个强力解决方案。显然,这是众所周知的问题
这是一个强力解决方案。显然,这是众所周知的问题
你可以简单地取并集,这样就可以保证它与所有集合相交,请重新表述你的问题,并展示你自己的尝试。这是一个猜测,但我认为用户想要最小的集合。否则,问题就微不足道了。但是需要澄清。很抱歉,我忘了提到它需要尽可能地优化,这就是为什么我无法解决问题的原因。我看一看:你可以简单地取联合体,这样它就保证与所有集合相交,请重新制定你的问题,并展示你自己的尝试。这是一个猜测,但我认为用户想要尽可能小的这样的集合。否则,问题就微不足道了。但是需要澄清。很抱歉,我忘了提到它需要尽可能的优化,这就是为什么我无法解决的原因。我看看这个:是的,设置需要尽可能小,很抱歉,我忘了提到it@JimmyCarlos,仅供参考OP已确认他们需要最小的此类装置。是的,装置需要尽可能小,对不起,我忘了提it@JimmyCarlos,仅供参考OP已确认他们需要最小的此类集合。这非常感谢此解决方案,我不知道此问题有名称这非常感谢此解决方案,我不知道此问题有名称