我正在寻找一种算法,可以将整数数组分割为尽可能多的子数组,总和为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]和剩余。
答案 0 :(得分:1)
此问题称为Subset sum problem或更具体的Knapsack problem。
您可以在this question或this site上找到解决方案。