重复变异代码(组合学)?

Evo*_*gan 2 java algorithm recursion combinatorics

有没有人有Java代码来生成所有VARIATIONS WITH REPETITION?

有大量的排列和组合示例可供使用,变化必须是最简单的...浪费时间重新发明轮子感觉很愚蠢(必须为此编写大量代码).

VARIATIONS WITH REPETITION的一个例子可能是这样的:

(tupletSize=3, input= A, B)
AAA, AAB, ABA, BAA, ABB, BAB, BBA, BBB
Run Code Online (Sandbox Code Playgroud)

谢谢!

pol*_*nts 9

这是按原样工作的,这对你来说是最容易学习的.

public class Main {
    public static void main(String args[]) {
        brute("AB", 3, new StringBuffer());
    }
    static void brute(String input, int depth, StringBuffer output) {
        if (depth == 0) {
            System.out.println(output);
        } else {
            for (int i = 0; i < input.length(); i++) {
                output.append(input.charAt(i));
                brute(input, depth - 1, output);
                output.deleteCharAt(output.length() - 1);
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)