У меня есть куча продуктов с размерами для доставки, и мне нужно найти самый дешевый тариф.
Учитывая груз, сделанный из размеров, скажем, [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 )
]
(и т. Д., Я полагаю, еще много)
Я пробовал комбинации из драгоценного камня Facets, но это не совсем то, к чему я стремлюсь, и я не уверен, как еще подойти к этой проблеме. Я понимаю, что, вероятно, у него есть имя и решение, если бы я только знал это имя:)
Я понимаю, что комбинаций может быть много, но исходный массив размеров не будет больше 7 или около того.
Заранее спасибо!