寻求支持动态权重与无重复的高效加权物品生成方案
加权物品生成优化需求(Minecraft Spigot项目)
我正在开发一个Minecraft Spigot业余项目,要实现宝箱开启和Boss掉落功能。此前已经完成了加权物品生成的基础功能,但现在想优化性能。
现有快速加权生成方案(如二分查找、别名方法)仅适用于元素列表和权重固定的场景,但我的场景有两个核心特殊需求:
- 生成多件物品时,需临时移除已选中的物品,避免重复掉落;
- 幸运系统会对特定物品动态调整权重(幸运值为0-20的浮点数,部分场景数值更大),权重必须在调用生成逻辑时实时计算。
当前的实现逻辑是:生成物品后临时移除该物品,生成结束后再将其放回列表。现在寻求时间复杂度优于O(n)、同时支持动态权重与无重复生成的高效解决方案。
项目现有代码:(原外链已移除)
内容的提问来源于stack exchange,提问作者Xeonmeister
相关产品推荐
相关产品推荐

