Случайно выбрать k бит из n из Java BitSet
Как правильно выбратьk
биты отJava BitSet длиныm
сn
биты включены, гдеk≤n≤m
?
Пример ввода:m=20, n=11
Пример вывода:k=3
Выберите случайное число0≤ i ≤ m-1
. если он включен на входе и не включен на выходе, включите его на выходе, покаk
биты включены на выходе.
Этот подход не работает, когдаn
намного меньше, чемm
. Есть другие идеи?