我有一点问题,我自己挖。我有一个项目列表,这些项目有一个字段,说明它们将适合哪种类型的框。
例如:item | boxtype | Quantity
-------------------------------
item1 | A-10,C-20 | 3
item2 | C-10,D-20 | 2
boxtype-column中的字母为框型,后面的数字为该栏能容纳的条目数
我正在想办法用最少的箱子。我一开始只是把量除以字母数字,如果小于1,我就用这个方框。但是在像上面这样的情况下,我可以用盒子A来装item1,而在item2上,我必须用C来装。最好是用盒子C来装两个项目,因为两个项目都适合。
当然这只是问题的一个简单版本,如果需要,我可以用更明确的例子来详细说明。我想知道我能不能用数组来做所有的排序?
谢谢你给我指路
编辑-添加这个数组,从这个数组中,是否有一个简单的方法来测试字母的条件,以确定应该使用哪个框类型?
Array
(
[AC] => Array
(
[A] => 0.75
[C] => 0.15
)
[CD] => Array
(
[C] => 0.2
[D] => 0.1
)
)
听起来像是一维/线性装箱问题。我看不出它与特定语言(PHP)或特性(数组)有什么关系。对于这些,请提出一个更具体的例子(例如:我如何在PHP中排序这个数组?array(blah => blah)
)。对于前者,根本不用指定语言,只关注算法。