我遇到了一个子集求和问题的变体,我觉得很有趣。因此,给定一组(正)元素,您必须将它分成2组,以便它们的差异最小。但这是抓住了。元素必须是连续的,它们也按循环顺序工作。这里有两个例子,所以你可以理解我的意思:
示例1:
INPUT:7 5 1 3 8 9 11 8
输出:0(设置1:{11,8,7},设置2:{5,1,3,8,9}
。
示例2:
INPUT:10 14 75 90 3 5 40 4 8
输出:27(第1集:{4,8,10,14,75},第2集:{90,3,5,40})
使用C ++的可能解决方案是什么?谢谢!