是這樣,算法要求,每秒生成一個隨機數,這個隨機數必須是符合一定要求的。有什么比較高效的算法。譬如[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個元素里面生成一個隨機數,這樣的弊端就是每次生成之前都要消耗大量資源。除了以上兩種算法,還有沒有更好一點的算法,能高效的生成符合要求的隨機數?
在限制區域內隨機取點,求比較高效的算法
牧羊人nacy
2018-12-19 16:13:29