gpt4 book ai didi

java - 二维尺寸、数量和包装算法?

转载 作者:搜寻专家 更新时间:2023-10-30 23:40:24 25 4
gpt4 key购买 nike

一直在网上寻找并改变我对问题的措辞以找到类似的东西,但不完全确定如何在 Java 中正确解决这个问题。我有一个 web 应用程序,它采用 (A x B) 的二维维度,然后我转到我的数据库并检索维度大于或等于 (A x B) 的所有项目。然后,我找到成本最低的项目并将其连同总额乘以请求的数量一起返回。

但是现在,例如,如果我有一件 1000 x 1000 的便宜商品,但我要求 100 x 100 件中的 10 件。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;
}

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

最佳答案

想通了这一点。更多基于数学。

将两个维度相乘以获得每个维度的面积。

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

关于java - 二维尺寸、数量和包装算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35601450/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com