我正在尝试找到一种算法,但谷歌搜索我的确切问题并没有找到我需要的确切结果。
我得到了一组数字和一个目标总和。我需要将数字分配给组,以便这些组的总和尽可能接近而不超过目标值。
Example Target Sum = 99
Example Set = { 70, 40, 10, 70, 98, 14, 4, 7, 29, 11, 91, 50, 30 }
Run Code Online (Sandbox Code Playgroud)
期望的结果是这样的:
{ 70, 29 }
{ 40, 50, 7}
{ 98 }
{ 91, 4 }
{ 70, 10, 11 }
{ 30, 14 }
Run Code Online (Sandbox Code Playgroud)
……因为它们加起来接近 99。
目标是拥有尽可能少的组。 我不需要太担心资源。它将被谨慎执行,并且值的数量将非常少。