小编Ead*_*adz的帖子

运输尺寸组合

我有一堆尺寸可以发货的产品,我需要找出最便宜的价格.

鉴于货物是用大小装运的,比如[1,3,3,5],我需要决定如何装运 - 全部一起或分开.然而,它不像[1,3,3,5]或1&3&3&5那么简单,我需要所有可能的组合,例如:

[
[[1,3,3,5]],           ( 1 shipment )
[[1],[3,3,5]],         ( 2 shipments )
[[1,3],[3,5]],         ( 2 shipments )
[[1,3,3],[5]],         ( 2 shipments )
[[1,5],[3,3]],         ( 2 shipments ) 
[[1,3],[3],[5]],       ( 3 shipments )
[[1],[3],[3],[5]]      ( 4 shipments )
]
Run Code Online (Sandbox Code Playgroud)

(等等 - 我更多的假设)我尝试过facets gem的组合,但这并不是我所追求的,而且我不确定如何解决这个问题.我明白它可能有一个名字和解决方案,只要我知道这个名字:)

我知道可能会有很多组合,但最初的大小数组不会大于7.

提前致谢!

ruby algorithm grouping list

2
推荐指数
1
解决办法
177
查看次数

标签 统计

algorithm ×1

grouping ×1

list ×1

ruby ×1