我目前正在将这个问题作为一个个人项目来处理.
基本上:
我已经使用以下函数递归地实现了这个:
char[] pool = new char[]{'1', '2', '3'};
public void buildStringRec(char[] root, int pos, int length){
for(char c : pool){
char[] newRoot = root.clone();
newRoot[pos] = c;
if(pos+1 < length){
buildStringRec(newRoot, pos+1, length);
} else{
System.out.println(String.valueOf(root));
}
}
}
Run Code Online (Sandbox Code Playgroud)
poolE和lengthK 在哪里?
所以我们打电话给:buildStringRec(new char[2], 0, 2);得到
11
12
13
21
22
23
31
32
33
Run Code Online (Sandbox Code Playgroud)
这可以迭代完成吗?我一直试图围绕如何使用可变长度来做这件事.
任何帮助,将不胜感激!如果需要,我可以按照原样发布我的代码,但由于我的重试,它发生频率变化,我发布它几乎没用.
另外,我不想使用Apache或String Builder这样做,因为我想了解如何做到这一点的概念.我不是简单地要求代码.只要清楚地解释,伪代码就可以了.
谢谢!
我正在使用这个网站测试提供给我的所有选项:https: …
iteration algorithm combinations permutation variable-length