为了账号安全,请及时绑定邮箱和手机立即绑定

在限制区域内随机取点,求比较高效的算法

在限制区域内随机取点,求比较高效的算法

牧羊人nacy 2018-12-19 16:13:29
是这样,算法要求,每秒生成一个随机数,这个随机数必须是符合一定要求的。有什么比较高效的算法。譬如[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个元素里面生成一个随机数,这样的弊端就是每次生成之前都要消耗大量资源。除了以上两种算法,还有没有更好一点的算法,能高效的生成符合要求的随机数?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 563 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信