Gibt es einen einfachen Weg, um alle möglichen Permutationen eines Vektors von ganzen Zahlen (1 bis max 999) zu generieren, der duplizierte Elemente ausdrücklich ausschließt?R: Generiere alle Permutationen eines Vektors ohne duplizierte Elemente
Zum Beispiel für einen Vektor mit drei Elementen in einem Bereich von 1 bis 9 die Sequenz 1 2 3
würden annehmbar sein, wie dies aber 1 2 9
1 2 2
würde unwirksam sein. Die Sequenz muss genau n
Elemente (in diesem Fall drei) enthalten. BEARBEITEN: um Verwirrung zu vermeiden, ist die Reihenfolge wichtig, so 1 2 9
und 9 2 1
sind beide gültig und erforderlich.
Es gibt viele Fragen zu Permutationen und Kombinationen mit R auf SO (wie this und this) aber keine, die zu diesem speziellen Fall passen scheinen. Ich hoffe, dass da draußen eine obskure Basis-R oder Paket-Funktion ist, die sich darum kümmern wird, ohne dass ich selbst eine unzüchtige Funktion schreiben muss.
Ja, die Reihenfolge ist wichtig, ebenso wie die Elemente selbst. – SlowLearner
Nun, die Antwort ohne die bearbeitete Verdeutlichung war sicherlich "Probe" und ich bin mir sicher, dass dies ein Duplikat ist, aber das zitierte Duplikat ist keine gute Antwort. –
Als Warnung für diejenigen, die folgen: Die Anzahl der Permutationen von 'n' Elementen ist' n! ', Was sehr schnell sehr groß wird. Für die 999 Elemente, die in dieser Frage erwähnt werden, gibt es ungefähr 4 * 10^2564 Permutationen. – Gregor