Es gibt einige ähnliche Fragen auf der Website, die eine Hilfe gewesen sind, aber ich kann dieses Problem nicht ganz festnageln, also hoffe ich, dass es sich nicht wiederholt.Permutation eines Arrays, mit Wiederholung, in Java
Dies ist eine Hausaufgabe, in der Sie ein gesetztes Array von Zeichen [A, B, C] haben und Rekursion verwenden müssen, um alle Permutationen zu erhalten (mit Wiederholung). Der Code, den ich irgendwie haben tut dies:
char[] c = {'A', 'B' , 'C'};
public void printAll(char[] c, int n, int k) {
if (k == n) {
System.out.print(c);
return;
}
else {
for (int j = 0; j<n; j++) {
for (int m = 0; m<n; m++) {
System.out.print(c[k]);
System.out.print(c[j]);
System.out.print(c[m] + "\r\n");
}
}
}
printAll(c, n, k+1);
}
Allerdings sollte der Parameter n die Länge der Ausgabe definieren, so, wenn diese Funktion alle Permutationen der Länge ausdruckt 3, ist es nicht sie der Länge 2 ich tun kann, Ich habe alles versucht, was mir einfällt, und habe mich mit den Google-Suchergebnissen beschäftigt, und ich ärgere mich, dass ich nicht in der Lage bin, ein scheinbar einfaches Problem zu lösen.
Was bedeutet "mit Wiederholung" hier bedeuten? – seh
Es bedeutet nur, dass sobald ein Zeichen verwendet wird, kann es wieder verwendet werden. Also die Anzahl der möglichen Ausgänge ist 3^3, und nicht 3 !. – user1788424