如何对集合进行分区,使得两个集合之和的差异是它们的最大值

时间:2015-09-28 14:12:37

标签: algorithm

设S是一组n个正整数,其中n是偶数。给一个有效的 算法将S分成两个n / 2个元素的子集S1和S2 与属性,元素之和的差异 在S1中,S2中的元素总和最大。现在几点了 算法的复杂性。 这是来自算法的问题,但我无法弄清楚“S1中元素总和与S2中元素之和的差异是多少”的含义是什么。

1 个答案:

答案 0 :(得分:2)

S = RadixSort(S) // O(N)
S1 = S[0..(N/2)-1]
S2 = S[N/2..N-1]

Abs(总和(最低值) - 总和(最高值))将是最大差异。