依靠权重来随机
思路 :
先 随机 每个 随机段 权重
然后 通过 随机出来 的权重 判断在 哪个 随机段 内
然后再在这个 随机段 中 随机出来 需要 的随机数
举例:
需求:
50 ~ 999 随机 出 一个 数,
权重 分配 如下
min | max | weight |
50 | 100 | 900 |
101 | 300 | 99 |
999 | 999 | 1 |
分析:
从表格看出 每个 权重 都是不等的
所以 先 随机 出来 权重的值
900 + 99 + 1 = 1000
从1000 中随机出来 一个权重的值
例如: 随机出来的权重的值为 700,
那么 就在 50 ~ 100 中随机出来 一个数
例如: 随机出来的权重的值为980,
那么 就在100 ~ 300 中随机出来一个数
例如: 随机出来的权重的值为999,
那么 就在999 ~ 999 中最忌出来一个数