我有x組中有y個元素(未排序的整數)在他們每個人。我想要找到這組對之間最大交集的大小。n套之間的最大交集
例如:
* 5臺,大小= 3
組1:1
設定2:4
套3:5 6 7
組4:5 8 9
組5:5 10 11
最大交叉點有設置1組2和它的大小是2; 答案是2.
所以,我可以在O(x^2 * y)使用HashSets
,只需查看所有對並計算它們的交集大小即可。但我想更快地做到這一點。我認爲有特定的算法或數據結構可以提供幫助。你能給我一些想法嗎?
UPDATE:x和y爲約10^3,元件是INT。並沒有相等的組合。
會設置1和2也相交如果'設置1:1 3 2'和'設置2:4 2 3',即一組中的元素的順序並不重要? – igon
是訂單無關緊要 – rusted
元素的值是否有限制?怎麼樣的套數 - 你有這個限制嗎? –