【发布时间】:2026-02-18 23:40:02
【问题描述】:
假设我有一个包含以下值的数组:
0.7523262
0.9232192
1.5824928
5.2362123
从这个数组中随机选择一个值的最佳方法是什么,以便值越高,被选中的可能性就越大?有一些常用的函数可以进行加权选择,但它们都使用 mt_rand(),它不适用于这样的事情。
例如,值 2.4652474 被选中的可能性是值 1.2326237 的两倍。
【问题讨论】:
-
如果也是加权的,怎么能随机选择?对于如何进行加权,您是否有一个特定的算法(用简单的英语)?
-
他们更有可能“如何”重要吗?是否应该按位置(最低,第二低等)线性增加机会(这可能很容易),或者与实际内容线性增加的机会,它们相关的其他方式(如非线性)?它们是否相关并不重要,只是增加机会?
-
@Calvin,你对我的问题有什么不明白的地方?我又读了一遍,对我来说似乎是简单的英语。我想从列表中随机选择一个数字,但数字越大,被选中的可能性就越大。
-
好吧..你确实在他的评论之后添加了关于它们应该如何关联的解释,所以可能是这样吗?
-
是的,你在之后添加了解释。