我有x个集合,每个集合中有y个元素(未排序的整数)。我想找到这些集合中任意一对交集的最大大小。
例如:
*5个集合,大小为3
集合1:12 3
集合2:42 3
集合3:5 6 7
集合4:5 8 9
集合5:5 10 11
最大交集是集合1和集合2,大小为2;答案是2。
因此,可以使用 HashSets
在 O(x^2*y) 的时间复杂度内完成,只需查找所有组合并计算它们的交集大小即可。但我想更快地解决问题。我认为有特定的算法或数据结构可以帮助。你能给我一些想法吗?
更新:x和y约为10^3,元素为整数。而且没有相同的集合。
set 1: 1 3 2
和set 2: 4 2 3
,即集合内元素的顺序不重要,那么1和2会相交吗? - igon