2

基本上我需要一些适合以下问题的算法:

我有 5 个列表:10、30、40、40 和 50 个元素,每个都有 80 个元素的上限,我现在想要实现的是:3 个列表:10、80 和 80 个元素

40 和 40 合并到 80 和 30 和 50 合并到 80,具有 10 个元素的列表保留为第三个结果列表,这意味着我想以某种方式合并所有列表,但上限为 80 个元素,所以我真的只有那么多列出我真正需要的

这不是排序问题,而只是合并 不可能拆分列表,列表的元素应始终保持在一起

希望你能帮助我,谢谢!

4

1 回答 1

2

这听起来像是一个装箱问题.. 这是一个 NP 难题,因此如果没有一些启发式方法,您将无法快速实现这一目标。维基百科页面有一些代码可以帮助你——现在你有了它的名字,也许你可以搜索更多。

于 2012-05-15T15:23:12.957 回答