是这样,算法要求,每秒生成一个随机数,这个随机数必须是符合一定要求的。有什么比较高效的算法。譬如[0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,1,0]20个数组元素,采用 Math.floor(20*Math.random()),生成随机数后,需要验证,如果对应的数组元素为1,则重新生成。一般来说,有两种算法,第一种就像我上面说的,每次生成后去验证,对应元素是否为1,这样做的弊端就是当整个数组大部分都是1的时候,生成随机数的效率很低。还有一种算法,就是在生成之前,统计数组中数组元素不是1的个数(此处是17),然后在这17个元素里面生成一个随机数,这样的弊端就是每次生成之前都要消耗大量资源。除了以上两种算法,还有没有更好一点的算法,能高效的生成符合要求的随机数?
添加回答
举报
0/150
提交
取消