抽奖权重工具

作者: H_Man | 来源:发表于2018-07-31 14:44 被阅读2次

工作中近期涉及到了抽奖,总结了一个小的权重抽奖工具,分享给大家

/**
 * @author hman
 * @createTime 2018/7/11
 * @description 按照权重自动抽奖并且返回权重
 */
public class WeightUtil {


    /**
     * @param weights 权重集合 1,2,3,4  ->[1,3,6,10]
     * @return random in [1,3,6,10] by weight
     */
    public static Optional<Integer> randomCoupons(Collection<Integer> weights) {
        if (CollectionUtils.isNotEmpty(weights)) {
            ArrayList<Integer> objects = Lists.newArrayList();
            weights.forEach(t -> objects.add(t));
            Collections.sort(objects);
            Random random = new Random();
            int i = random.nextInt(objects.get(objects.size() - 1) - 1);
            return objects.stream().filter(t -> i <= t).findFirst();
        }
        return Optional.empty();

    }
}

相关文章

  • 抽奖权重工具

    工作中近期涉及到了抽奖,总结了一个小的权重抽奖工具,分享给大家

  • 权重抽奖

    思路 随机数生成范围:0-1(不包含1) Math.random();概率 = 权重 / 总权重 (概率一定是 小...

  • 根据权重抽奖..

    根据用户名(id)和权重抽奖 test_model运行结果 权重: 1 此权重中奖次数: 49514权重: 2 此...

  • 简书漫游|新人创收篇(二)

    (2)通过抽奖等途径增加自己的权重 权重,就是我们的资产与拥有的加成卡的和,权重越高,每天获得的投票收益越多。 加...

  • php 权重随机3种算法

    权重随机算法在产品开发中或多或少都遇到,如抽奖,集群服务器中的负载均衡。下面我以抽奖为例: $arr = arra...

  • 抽奖功能实现(纯算法)

    权重的概念 简单的将权重就是某个奖品的中奖率,总权重就是所有的中奖率相加得到的总数(当然如果是抽奖的话所有奖品加起...

  • 天天转盘广告购物,退货无门,智商税吧!

    作为新手的我,每天除了日更,还要参与“天天抽奖”,以此获得加成卡,还增加文章发布后互动的权重。 参与抽奖的友友都知...

  • 问卷网-付费用户统计

    抽奖(9330人付费) 为您的问卷、表单、测评添加抽奖工具,可以自定义奖品,抽奖后生成兑奖码或收集寄件地址,让做活...

  • java抽奖工具类

    整体思路: 奖品集合 + 概率比例集合 将奖品按集合中的顺序概率计算成所占比例区间,放入比例集合。并产生一个随机数...

  • PyQt简单抽奖工具

    公司年会,需要一个非常简单的抽奖工具,因为我的电脑是windows系统,年会要在同事的Mac上面使用,考虑到开发的...

网友评论

    本文标题:抽奖权重工具

    本文链接:https://www.haomeiwen.com/subject/pdhhvftx.html