说我有很多整数集。整数的数量可以在每个集合之间变化。我正在寻找在它们之间具有最独特整数的n个集合。如果n = 4,那么我正在寻找所有可用集合中的4个集合,它们之间具有最大数量的唯一整数(因此不计算重复项)。

最佳答案

如果集合总数= N不太大:
暴力破解方法如下:
考虑(N选择n)个集合的每种可能组合,并通过“合并和删除 vector 中的重复项,然后检查大小”来评估它们形成的唯一整数的数量,直到在所有评估后得到最大的整数为止。
从此开始,您可以通过使用动态编程或消除许多(N选择n)来制作越来越高效的算法,例如在找到一些MAX = K之后,如果此特定n集合中的整数总数小于K,则可以没有评估...等
那是入门的粗略草稿

07-25 21:41