【发布时间】:2011-05-11 20:31:03
【问题描述】:
伙计们,
遇到了一个问题...觉得这很有趣...正在稍微修改一下,请加油。
给定一组整数(范围 0-500),找出两个子集之和之间的最小差异,该差异可以通过将它们几乎均分来形成。 (比如说整数的个数是 n,如果 n 是偶数,每个集合必须有 n/2 个元素,如果 n 是奇数,一个集合有 (n-1)/2 个元素,另一个有 (n+1)/2 个元素)
样本输入:1 2 3 4 5 6
最小差异 = 1(子集为 1 4 6 和 2 3 5 )
样本输入 2:[1 1 1 1 2 2 2 2]
最小差异 = 0(子集为 1 1 2 2 和 1 1 2 2)
这个问题有 DP 方法吗。
谢谢大家...
拉吉...
【问题讨论】:
-
强调:OP 对构建子集不感兴趣,只对获得最小值感兴趣。当然,是否可以在不构建子集的情况下这样做是一个悬而未决的问题。
标签: algorithm dynamic-programming subset