需要开发一种算法来解决以下任务
假设:
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)
答案 0 :(得分:1)
给定排序整数的N个集合(标注为Ni
),初始化N个变量Hi
,它们将保存每个集合的头部。
虽然仍然存在尚未到达各自Hi
末尾的索引Ni
,但会迭代值Vi=Ni[Hi]
并找到最小值Vmin
,出现次数n
并存储相应的索引j
(你可以在一个循环中完成)。
增加Hj
。
如果n>X
,则会为您提供一个新集M = [Vmin] (from Nj)
。
由您决定相应的数据表示形式,以便使用(from Nj)
作为地图密钥。