Дана гистограмма весов weights, где weights[i] — неотрицательный вес элемента i. Нужно выбирать индекс случайно пропорционально весу.
На собеседовании это формулировалось как live-coding задача про sampling из histogram. В тренажере вместо настоящего RNG передаются детерминированные значения samples из диапазона [0, 1), чтобы тесты были стабильными.
Для каждого sample верните индекс, в чей отрезок cumulative distribution он попадает.
def weighted_histogram_sample(weights: list[float], samples: list[float]) -> list[int]:len(weights) >= 10 <= sample < 1 для каждого sampleweights = [20,50,30]samples = [0,0.19,0.2,0.69,0.7,0.99][0,0,1,1,2,2]weights = [1,1,1,1]samples = [0,0.24,0.25,0.5,0.75][0,0,1,2,3]weights = [0,2,0,3]samples = [0,0.39,0.4,0.99][1,1,3,3]