Выберите элемент из массива с вероятностью, пропорциональной его значению

У меня есть массив значений типа double, и я хочу выбрать из него значение, при котором вероятность выбора каждого значения обратно пропорциональна его значению. Например:

arr[0] = 100
arr[1] = 200

В этом примере элемент 0 будет выбран на 66%, а элемент 1 - на 33%. Я испытываю трудности с кодированием. Что я сделал до сих пор, чтобы вычислить общую стоимость массива (пример будет 300), то я 'мы поиграли с инвертированием чисел перед тем, как рассчитать их как процент от общего числа. Я могу'ничего не получай на работу. В конце концов, я желаю:

new randomNumber
for(int y=0; y < probabilities.length; y++){
     if(randomNumber < probabilities[y]){
          Select probabilities[y]
     }
}

Или что-то на это влияет. Любая помощь? Кодирование на Java, но я могу адаптировать любой псевдокод.

Ответы на вопрос(4)

Ваш ответ на вопрос