分组类型的优惠算法思路

xiaoxiao2021-02-28  36

思路背景:商品绑定优惠分组满足一定条件后即可参与优惠,查出最优解。 首先考虑商品如何分组才能获得最优解。 解法1: 即商品能够满足省钱最多的优惠组中既定为一个最优方案。 1. 获取所有该时段有效的优惠分组记录; 2. 将商品分发到能够满足优惠的分组中; 3. 计算优惠分组中的数据,算出该分组是否享有优惠方案,该方案省了多少钱; 4. 针对分组省的钱数由多到少进行排序; 5. 从分数最多的那个分组中找到所有商品的key值(商品id+sku码),去跟其他分组的相对应内容进行并集的累加操作,如果操作结果的元素集个数小于两个集合的元素个数和,说明该优惠组中有商品跟之前的分组有商品重合,则去掉省钱较少的分组的该商品,重新计算分组; 6. 在合成所有满足条件的分组后,将所有分组按照满足条件从低到高的顺序排序; 7. 遍历分组,将不满足条件的分组中的重复商品去掉,规则同上; 解法2(待测试): 利用临界资源的思想,导出所有符合逻辑的解,逐一计算并比较; 1. 获取所有该时段有效的优惠分组记录; 2. 将商品分发到能够满足优惠的分组中; 3. 遍历所有满足条件的分组设置一个以商品id+sku为key的分组数组,去掉元素数为1的商品元素,意味着该数组中只存在有重复分组的商品; 4. 遍历商品数组,重组一个商品在各个可能性中的key值,并运算出其省钱结果; 保留省钱结果最优解; 5. 将结果满足的商品id重新编好数组,余下的分组再按照条件由低到高排序; 6. 未满足条件的分组进行商品去重的操作; 以上两种解法均未考虑一件商品同时存在于多个优惠组的情况。
转载请注明原文地址: https://www.6miu.com/read-2627353.html

最新回复(0)