我遇到了困扰我很长一段时间的问题,而且我真的不知道如何能够很好地解决问题,以便能够谷歌答案。
假设我有N组(例如,整数)和整数K> 0,如何找到包含N组中最大数量的K大小集?
实施例。我有集{1},{2},{1,2,3}。对于K = 1,一个答案为{1},因为它包含1个集合。对于K = 2,答案为{1,2},因为它包含2个集合。
答案 0 :(得分:0)
给定一组数字的集合N,找到整数的集合K,大小为k
,这样N的最大成员数就是K的子集。
最糟糕的方式是考虑N的power set(也就是所有可能的子集的集合),称之为P.对于P的每个成员,取其所有成员的联合并查看如果它是大小k
。
该算法将为O(2 ^ n)。可能有一种方法可以改进它。