均匀地将物品分配到桶中

时间:2016-06-25 11:51:33

标签: algorithm sorting distribution

我正在解决一个问题,即我需要将18个项目分成3个桶。一半的物品是红色的,一半是蓝色的。每件物品都有特定的尺寸;但是尺寸不均匀分布(即18,20,24,18,19,26 ......)。我需要一种能够将这些项目分配到3个桶中的算法,如下所示:1)每个桶最终必须有6个项目。 2)每个桶必须最多有3个红色项目和3个蓝色项目。 3)(我挣扎的部分)如果你平均每个桶中六个项目的大小,它们需要尽可能接近其他桶中物品的平均大小。

我正在学习编码,并且正在将这个问题作为项目的一部分来处理;但是,我已经阅读了几天排序算法,但是我没有找到任何有助于解决手头问题的解决方案,而且我很难过。我宁愿自己来解决问题,但非常希望能够朝着正确的方向前进。

谢谢!

1 个答案:

答案 0 :(得分:1)

这是一种可能的算法:

让排序顺序的红色项目为r1r2r3 ... r9
按排序顺序排列蓝色项目为b1b2b3 ... b9
让3个存储桶为B1B2B3

r1r9放入B1r2r8 B2r3r7 } B3 同样,将b1b9放入B1b2b8放入B2b3b7B3

现在,我们留下r4r5r6b4b5b6

r4b6放入B1r5b5 B2r6b4 } B3