我有一个字符串数组,例如:
{ "1", "2", "3", "4", "5", "6", "7", "8", "9", "10" }
我希望获得所有组合。
我尝试使用我用charsets生成所有排列的方法:
public static void generate(String[] stringset, String pfx, int n, int k) {
if (k == 0) {
System.out.println(pfx);
return;
}
for (int i = 0; i < n; i++) {
generate(stringset, pfx + stringset[i] + ",", n, k - 1);
}
}
但是我无法获得有效的输出。
我将如何做到这一点?
答案 0 :(得分:0)
这是一个想法,使用ArrayList。
public static void generate(ArrayList<String> stringset, String pfx) {
if (stringset.size() == 0) {
System.out.println(pfx);
return;
}
int len = stringset.size();
for (int i = 0; i < len ; i++) {
String first = stringset.remove(i);
generate(stringset, pfx + first + ",");
stringset.add(i,first);
}
}