我正在寻找一种算法来填充数组,以便以智能方式拟合项目。因为这没有告诉你什么,我会解释我在寻找什么。
我有一个数组,比如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)
数组可以是可变长度的,也可以是项目。
有人知道如何处理这个问题吗?
亲切的问候, 沃纳