选择产品以获得最大购物车价值

时间:2015-12-13 17:24:09

标签: algorithm oop logic

鉴于商店中可用的产品列表,我需要选择一组产品到我的购物车,这样我的购物车价值应该是最大的。 限制条件如下,购物车的尺寸为.git/。所选产品应单独和完全适合购物车,为购物车提供最大可能的价值。每种产品可以选择一件。

我与每个产品都有l*w*hproduct idpricelwht。怎么能实现呢?

我提出了如下逻辑。

  1. 计算购物车的数量
  2. 使用其价格计算产品的体积和每立方厘米的产品价值
  3. 根据值/ cucm
  4. 对产品列表进行排序
  5. 开始从排序列表中添加产品,例如第1个,第2个,第3个等,直到购物车被填满。
  6. 如果产品无法放入购物车,请跳过它并从排序列表中选择下一个可能的产品。
  7. 获取清单后,检查所选清单中的任何产品是否可以替换为体积较小的其他产品,但会产生更多购物车价值。
  8. 但这并没有让我得到具有最大购物车价值的正确产品清单。上面的逻辑有什么问题?

1 个答案:

答案 0 :(得分:1)

三维是否整数有一定的有限界限?然后可以通过动态编程来解决。但我认为应该做出一些假设,例如:子问题的划分应该是端到端的切割平面等。没有这种动态编程是不可行的。

这里的关键技巧是你需要考虑一个盒子可以以多种方式定向的可能性,并且它是沿着购物车的三个轴对齐其自己的三个维度的方式的数量。这是3!三维为= 6。因此,在处理第i个产品时的动态编程中,包括将其3个维度解释为L,W,H的所有6种方式。