我有一个问题,我把自己挖进去了。我有一个项目列表,其中包含适合他们类型的框的字段。
例如:
item | boxtype | Quantity
-------------------------------
item1 | A-10,C-20 | 3
item2 | C-10,D-20 | 2
boxtype-column中的字母是框类型,后面的数字是项目可以容纳的数量。
我想弄清楚如何使用最少量的盒子。我最初只是将数量除以字母数字,如果它低于1我使用那个方框。
但是对于像上面这样的情况,我会使用Box A作为item1,在item2上我将不得不使用C.最好将两个项目用在盒子C上,因为这两个项目都适合。
当然这只是一个简单的问题版本,如果需要我可以用更明确的例子详细说明。我只是想知道我可以用数组进行所有排序吗?
感谢正确方向的任何一点
编辑 - 从这个数组添加这个数组,是否有一个简单的方法测试字母的条件,以确定应该使用哪种盒子类型? Array
(
[AC] => Array
(
[A] => 0.75
[C] => 0.15
)
[CD] => Array
(
[C] => 0.2
[D] => 0.1
)
)
答案 0 :(得分:1)
听起来像1D /线性bin packing problem。我不知道它与特定语言(PHP)或功能(数组)有什么关系。对于那些,请提出一个更具体的例子(例如:如何在PHP中对此数组进行排序?array(blah => blah)
)。对于前者,根本不指定语言,重点关注算法。