Obter X números exclusivos de um conjunto
Qual é a maneira mais elegante de obter números aleatórios únicos que eu pondero?
No momento, preciso de números únicos aleatórios, verifico se não é exclusivo usando um loop while para ver se já usei o número aleatório antes.
Então parece:
int n = getRandomNumber % [Array Size];
for each ( Previously used n in list)
Check if I've used n before, if I have...try again.
Existem muitas maneiras de resolver esse problema O (n / 2) linear, apenas me pergunto se existe uma maneira elegante de resolvê-lo. Tentando recordar a matemática discreta e lembrar se o antigo professor abordou algo relacionado a um problema aparentemente trivial.
Não consigo pensar no momento, então, talvez, depois de tomar alguma cafeína, meu cérebro a absorva com o QI elevado induzido pelo café.