我知道这是一个菜鸟问题,但我很坚持,所以我希望你能帮助我。
我有一个整数数组。根据情况,我可以有一个包含 1,2,3 或 1,1,1 或 1,2,2 等的数组。重要的是数组中的值之间的差异可能不大于最小数字 + 2(我可以有 1、2、3 但没有 1、2、4)。现在我抓取数组的最大值和最小值并从最大值递减最小值。因为 max 和 min 之间的差异总是 0、1 或 2(数组值彼此之间不大于两个),所以我有免费的可能机会:
0: - all array values are equal
1: - all array values are from range <x, x + 1>
2: - all array values are from range <x-1, x+1>
现在,如果我想从上面的数组中随机选择值,这很容易。但是我怎么能以比其他人更大的概率选择数字的百分比机会呢?
我是什么意思?考虑第二个示例,以及数组 x-1、x+1 中的值范围 - 让它成为 Array(2, 3, 4)。现在我想有 50% 的机会选择 4、30% 的机会选择 3 和 20% 的机会选择 2。如何将数组中的整数值与选择它的机会联系起来?
我希望你能明白我的意思,你可以帮助我。
编辑:换句话说,如果我有一个充满值的数组,如何轻松地让一系列值成为数组中所有值的一部分,选择一个值的概率比另一个值大?