概率分配
单体概率
奖品抽空后,其他奖品概率保持不变,抽到空的就是没中奖了,
哈希表存储概率分布
随机数索引获取结果
整体概率
当某个奖品抽空后,剩余奖品概率按原比例重新分配。A(20%)抽空后,B(30%)和C(50%)变为B(37.5%)和C(62.5%)
排除不可抽奖的奖品(即库存为0的奖品)
重新计算剩余奖品的总概率
使用SecureRandom生成随机数
抽奖系统用它是因为普通Random生成的序列其实是可以预测的,要是被人找到规律就可能被薅羊毛。SecureRandom用的是系统底层更安全的随机源,
遍历奖品列表匹配随机数所在区间
评论