抽奖概率算法(区间计算法)

常用概率算法

    • 区间计算法
    • 解析:

区间计算法

  1. 首先比如举一个简单的栗子
  2. 现重数据库取出奖品list分别为以下:
  3. 1.苹果手机 2.苹果电脑 3.苹果一斤 4.苹果一箱 其获得概率分别为0.0001,0.0002,0.01,0.001
  4. 下标分别为0,1,2,3
  5. 计算奖品概率总和sum
  6. 通过for循环遍历奖品list计算当前概率总和(如第一个就是0.0001,第二个0.0003)
  7. 用当前概率总和除以总概率,放入list数组中(可保证总概率恒为1)
  8. 用Math.random()函数生成0到1头尾不含的数字idex放入list中
  9. 通过Collections.sort(list)排序list,取出idex在数组中的下标,对应选取相同下标的奖品,抽奖结束

解析:

  1. 如何保证概率问题?
    通过小数之前的区间大小保证概率,区间越大随机数出现的概率越大

你可能感兴趣的:(抽奖概率算法(区间计算法))