查找包含最多集的大小K集

时间:2014-02-12 01:43:07

标签: algorithm

我遇到了困扰我很长一段时间的问题,而且我真的不知道如何能够很好地解决问题,以便能够谷歌答案。

假设我有N组(例如,整数)和整数K> 0,如何找到包含N组中最大数量的K大小集?

实施例。我有集{1},{2},{1,2,3}。对于K = 1,一个答案为{1},因为它包含1个集合。对于K = 2,答案为{1,2},因为它包含2个集合。

1 个答案:

答案 0 :(得分:0)

给定一组数字的集合N,找到整数的集合K,大小为k,这样N的最大成员数就是K的子集。

最糟糕的方式是考虑N的power set(也就是所有可能的子集的集合),称之为P.对于P的每个成员,取其所有成员的联合并查看如果它是大小k

该算法将为O(2 ^ n)。可能有一种方法可以改进它。