網站上有一些類似的問題有一些幫助,但我無法完全確定這個問題,所以我希望這不是重複的。在Java中使用重複排列數組,重複使用
這是一個家庭作業,你有一組字符集[A,B,C],並且必須使用遞歸來獲得所有的排列(帶重複)。我有排序的代碼做這個:
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);
}
然而,參數n應定義輸出的長度,因此這個功能打印出長度爲3的所有排列,它不能做他們長2.我的嘗試了我所能想到的一切,並對Google的搜索結果感到厭倦,而且我自己也因爲無法解決似乎是一個相當簡單的問題而感到惱火。
什麼是 「有重複」 的意思是在這裏嗎? – seh
這只是意味着一旦使用了一個字符,它就可以再次使用。所以可能的輸出數是3^3,而不是3 !. – user1788424