Для двух целых чисел N и n (N> = n> 0), как сгенерировать случайный выбор (без повторения!) из [0, N) с длиной = n? Например, если N = 5, n = 3 возможных решения: (3,0,2) или (2,4,1) и т. Д.
Существует ограничение, препятствующее использованию наивного подхода: использование памяти должно быть O ( n), а не O (N).
/ * Под наивным подходом я подразумеваю использование временного массива размером = N, изначально заполненного числами 0..N-1 по порядку. Обязательные n элементов выбираются случайным образом из этого массива. * /