我想從我的數組中獲得n個獨特的隨機元素。在數組中獲取n個隨機元素
例如:
if n = 4;
我想隨機得到
array[0], array[3], array[7], array[2]
的問題是得到一個隨機整數會導致碰撞容易(僞代碼):
for n times
{
r = generateRandomInteger within n-1
list.push(array[r]); //array[r] can be the same.
}
碰撞比比皆是,特別是在小陣列上。
什麼是解決這個特別優雅的方法?
你爲什麼標記3種不同的語言? – Marty