按概率返回0-N之间的数字的解法思想

昨天笔试碰到一个题目:

给定一个N个数的数组,[0-N],写一个函数,返回 i (0 =<i <= N),要求: 按给定概率p[i]返回 , 且保证 p[0]+p[1]+……+ p[N] = 1; 

今天想了一个解法,记录下来。

1: 确定概率的精度,如果精度为1 ,我们就以10为单位,精度为2 就以100为单位。

2:以精度为1 为例,我们进行计算。随机产生[0-9] 之间的数字的概率为等概率,我们可以利用这点来得出结果。

3 : 把10画成10等份,用判断语句进行对应。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章