0
固定長3の配列の異なる順列を生成するプログラムを作成しています。 私が直面している主な問題は、常に公表順列を生成することです。 Javaを使用せずに<>を設定します。固定長(L)の異なる別個の順列を生成する
public class generatingCombination {
public static void main(String[] args) {
String s="ABCDEF";
printArray(s,0,new char[3], new boolean[s.length()]);
}
static void printArray(String s,int x,char []arr, boolean [] used){
if(x==3){
System.out.println(Arrays.toString(arr));
return;
}
else
{
for(int i=0;i<s.length();i++){
if(used[i]) continue;
arr[x]=s.charAt(i);
used[i]=true;
printArray(s, x+1, arr,used);
used[i]=false;
printArray(s, x+1, arr,used);
}
}
}
}
あなたが二回再帰呼び出しをやっているので、あなたは、重複を取得しています。どうしてそんなことをするのか?値を設定せずにselfを呼び出すと、 'used'配列のポイントは何ですか(2回目の再帰呼び出し)? – Andreas
@YS。 - あなたが期待する出力に例を提供してください –
2番目のprintArray呼び出しは、最初のprintArray呼び出しと同じ結果を出力します。 – tim4242