将整数数组拆分为尽可能多的具有相同总和的子数组

时间:2018-01-06 22:00:32

标签: algorithm sorting time-complexity

我正在寻找一种算法,可以将整数数组分割为尽可能多的子数组,总和为X.我试图创建从hi到low的数组,但最后我只留下了2个数组并且不可能用奇数和创建子集。

目前我被卡住了,因为我不知道该看什么/ google?

例如。 每个元素可以使用一次,因此所有子集可以同时存在。

我有一个数组= [7,6,4,7,8,3,3,7,8,9,4,3,2,6,6,4,2,6] 并希望将其拆分为总和为12的子集。

[7,5],[4,8],[9,3],[3,8],[7,3,2],[6,6],[4,2,6]

[7,4]和剩余。

1 个答案:

答案 0 :(得分:1)

此问题称为Subset sum problem或更具体的Knapsack problem

您可以在this questionthis site上找到解决方案。