我正在寻找一种算法来填充数组,以便以智能方式拟合项目 . 因为这没有告诉你什么,我会解释我在寻找什么 .

我有一个数组,比方说,15个空插槽 . 最初所有时隙都具有值0(零),例如:(0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0)

我有3种物品占用2个,3个或5个插槽 . item1占用2个槽,item2占用3个槽,item3占用5个槽 .

有时项目在阵列中有固定的位置 . 例如:假设第一项始终从第6位开始,并在数组中以1表示(0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 )

现在我有2项item1和2项item3 . 它们以随机顺序提供给算法 .

我可以使用什么样的算法,因此它可以很好地填充数组 . 例如:(2 | 2 | 3 | 3 | 3 | 1 | 1 | 1 | 1 | 1 | 3 | 3 | 3 | 2 | 2)

数组可以是可变长度的以及项目 .

有没有人知道如何处理这个?

亲切的问候,Werner