分组集算法

时间:2015-10-10 03:57:41

标签: algorithm set grouping

需要开发一种算法来解决以下任务

假设:

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)

1 个答案:

答案 0 :(得分:1)

给定排序整数的N个集合(标注为Ni),初始化N个变量Hi,它们将保存每个集合的头部。

虽然仍然存在尚未到达各自Hi末尾的索引Ni,但会迭代值Vi=Ni[Hi]并找到最小值Vmin,出现次数n并存储相应的索引j(你可以在一个循环中完成)。

增加Hj

如果n>X,则会为您提供一个新集M = [Vmin] (from Nj)

由您决定相应的数据表示形式,以便使用(from Nj)作为地图密钥。