【发布时间】:2016-01-08 02:25:08
【问题描述】:
需要开发一种算法来解决以下任务
给定:
The N sets with a different number of elements
预期结果:
The new M sets containing ≥X common elements of the N sets
例子:
N1=[1,2,3,4,5]
N2=[2,3,5]
N3=[1,3,5]
N4=[1,2]
if X=3:
M1=[1] (from N1,3,4)
M2=[2] (from N1,2,4)
M3=[3,5] (from N1,2,3)
【问题讨论】:
-
突然想到:对输入集的元素进行排序。然后使用 merge-match 遍历每个现存的整数,边走边计算每个整数。计数 >= X 的人进入 M 组。对每个这样的整数在 N 组成员船上使用二进制编码,以进行哈希以将成员分组到 M 组中。
-
新的 M 集是否不相交?