|
|
1
3
我喜欢 Barmar's answer ,并且它很好地处理任意权重。但是,它确实需要两次调用 随机的 ,这可能是不可取的。另一种方法是创建一个向量,其中包含根据其预期频率出现的元素。E、 例如,如果元素a和b的选择概率为1/3和2/3,那么可以创建一个数组 (a b b) 并从中随机选择。
|
|
|
2
2
分两步进行: 首先,在任意范围内选择一个随机数,并确定它是否在该范围的前3/4。如果是,则在给定范围的前半部分选择一个随机数,否则在后半部分选择随机数:
|