【发布时间】:2018-02-26 23:09:10
【问题描述】:
我遇到了一个我觉得很有趣的子集和问题的变体。因此,给定一个(正)元素数组,您必须将其划分为 2 组,以使它们的差异最小。但这就是问题所在。元素必须是连续的,并且它们也以循环顺序工作。这里有 2 个例子,你可以理解我的意思:
示例 1:
输入:7 5 1 3 8 9 11 8
输出:0(设置 1:{11,8,7},设置 2:{5,1,3,8,9}
.
示例 2:
输入:10 14 75 90 3 5 40 4 8
输出:27(第 1 组:{4,8,10,14,75},第 2 组:{90,3,5,40})
使用 C++ 的可能解决方案是什么?谢谢!
【问题讨论】:
标签: c++ algorithm c++11 knapsack-problem subset-sum