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

У меня есть массив значений типа 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)

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