账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    在限制区域内随机取点,求比较高效的算法
    55
    0

    是这样,算法要求,每秒生成一个随机数,这个随机数必须是符合一定要求的。有什么比较高效的算法。
    譬如
    [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
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 0
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部