2D尺寸,数量和包装算法?

时间:2016-02-24 11:52:34

标签: java database algorithm size dimensions

一直在网上寻找并改变我如何用我的问题来寻找类似的东西,但不完全确定如何在Java中正确地解决这个问题。我有一个Web应用程序,它采用2D维度(A x B),然后我转到我的数据库并检索尺寸大于或等于(A x B)的所有项目。然后,我找到最佳成本项目并返回该总和乘以请求的数量。

但是刚才如果我有一个1000 x 1000的便宜商品,但我已经要求10 x 100 x 100. 1000 x 1000将被退回,因为它是最好的成本,但我将总数设置为10 1000 x 1000这太过分了。

如何最大限度地利用这个大尺寸,并尝试弄清楚可以从中拆分多少请求的尺寸,并将总x数量减少到更智能的数量?

希望这是有道理的。

到目前为止,我已经尝试了

private Double FindSmartTotal(double cheapestTotal, String sizeDB, String desc, Integer quantity) { 
    desc = LookForSizes(desc);
    if(desc!=null){
        LookForSizesOfDB(sizeDB);
        LookForSizesOfDescription(desc);
        Dimension d1 = new Dimension(dbitemSizeA, dbitemSizeB);
        Dimension d2 = new Dimension(homeviewitemSizeA, homeviewitemSizeB);
        if(d1.getWidth() > d2.getWidth() && d1.getHeight( )> d2.getHeight()){
            double dividedWidth = d1.getWidth()/d2.getWidth();
            double dividedHeight = d1.getHeight()/d2.getHeight();
            double roundedWidth = round(dividedWidth,1, BigDecimal.ROUND_HALF_UP);
            double roundedHeight = round(dividedHeight,1, BigDecimal.ROUND_HALF_UP);
            System.out.println("here");
        }
    }
    return null;
}

但是我不知道接下来会做什么,或者是否有更好的方法来处理它并废弃上面的代码。

1 个答案:

答案 0 :(得分:1)

想出这个。更多的数学基础。

将两个维度相乘以获得每个维度的区域。

然后进行循环,每个循环从较大的区域中减去较小的区域并递增计数器。这样做直到减法> 0。这将提供比从更大区域切割的数量。