Hello out there!
Eine andere Lösung wäre, einmal eine ganzzahlige Zufallszahl r aus dem Bereich 0 ≤ r < n! (n = sortedArray.length; n! = 1 * 2 * 3 * ... * n) zu ziehen und anhand dieser diejenige Permutation auszugeben, die in der sortierten Liste aller Permutationen an r-ter Stelle steht.
Au ja. Das ist wirklich ne praktikable Lösung.
David wollte was für 14 User. 14! = 87178291200, also für rund 87 Milliarden Permutationen.
Schreibst Du mal schnell die sortierte Liste aller rund 87 Milliarden Permutationen auf?
Grmpf, das kommt davon, wenn man mal nicht den Konjunktiv benutzt ...
Es war nicht die Rede davon, alle Permutationen aufzulisten, sondern diejenige Permutation auszugeben, die in der sortierten Liste aller Permutationen an r-ter Stelle STÜNDE.
Um die r-te Permutation der Liste auszugeben, muss man nicht die ganze Liste ermitteln; ein Algorithmus kann zu gegebenem r einfach nur die r-te Permutation ausgeben.
See ya up the road,
Gunnar
PS. Und falls sich doch jemand die Mühe macht, alle rund 87 Milliarden Permutationen aufzuschreiben, dann STEHT sie an der Stelle. ;-b
„Und [dieses Forum] soll […] auch ein Fachforum bleiben und kein Psychologieforum werden.“ (Kirsten Evers)