抽奖算法场景
参考链接
抽奖算法
1. 随机权重法
- 思路:将奖品编号,每个人通过随机数得到编号从而获得对应的奖品。
- 优点:简单易懂,可并发抽取。
- 缺点:抽取出的各等级奖品数量不固定,例如一等奖只有一个,但可能抽出两个。
2. 随机动态权重法
- 思路:将奖品编号,每个人通过随机数得到编号从而获得对应的奖品。获得该奖品后,将该奖品对应的编号删除,下一个人再进行抽取。
- 优点:可以根据需要固定各等级奖品的数量,不会超出设置的奖品数量。
- 缺点:只能一个一个抽,不能并发。
3. 预生成队列法
- 思路:将奖品编号,然后将奖品随机地放入多个队列中,再将抽奖者随机地分配到队列中,抽奖者抽取自己队列中的一个奖品编号,获得奖品。
- 优点:奖品数量固定,可并发抽取。
- 缺点:需要预处理数据,需要额外的存储空间存储队列。