ich habe da momentan ein kleines Problem. Und zwar habe ich ein Array, welches aus Arrays besteht. In den einzelnen Arrays sind ganze Zahlen hinterlegt. Nun möchte ich anhand dessen mögliche Kombinationen ermitteln, wobei eine Kombination nur unterschiedliche Werte beinhalten darf. Sowohl die Anzahl der Arrays, als auch die Anzahl der Elemente pro Array sind dynamisch.
Beispiel:
Array = [[0,1,2],[0,1,2],[1,2]]
In diesem Beispiel würde es 4 verschiedene Kombinationen geben:
[0,1,2]
[0,2,1]
[1,0,2]
[2,0,1]
Ich selbst brauche nur eine einzige Kombination, weshalb ich das ganze über Rekurssion gelöst habe. Für jedes Element des ersten Arrays rufe ich eine Methode auf, welcher ich das aktuelle "kombinationsarray" und den index des nächsten Arrays übertrage.
Diese Methode ruft sich selbst dann solange auf, bis das Kombinationsarray komplett ist.
Also auf das oben bezogene Beispiel:
Ausgabe: [0,1,2]
Nun zu meiner Frage, gibt es da noch andere (eventuell performantere) Wege, dies umzusetzen? Und wenn man nun doch alle Kombinationen ermitteln möchte, was wäre die performanteste Lösung dafür? (Sprich, dass im oben genannten Beispiel die vier Kombinationen zurückgegeben werden)