other-01-输出数组的所有自组合
<!---->
/**
* @since
* @author SwordLiu on 2018-04-18.
*/
public static void main(String[] args) {
char[] chars = new char[]{'a','b','c'};
out1(chars, chars.length, "");
}
<!--记录输出次数 = length^length-->
static int i = 1;
private static void out1(char[] chars, int length, String s) {
if (length == 1) {
for(char c : chars) {
System.out.println(s + c + " " + i++);
}
}else {
for (char c : chars) {
out1(chars, length - 1, s+c);
}
}
}
输出
aaa 1
aab 2
aac 3
aba 4
abb 5
abc 6
aca 7
acb 8
acc 9
baa 10
bab 11
bac 12
bba 13
bbb 14
bbc 15
bca 16
bcb 17
bcc 18
caa 19
cab 20
cac 21
cba 22
cbb 23
cbc 24
cca 25
ccb 26
ccc 27