import java.util.Arrays;
public class Combination {
public static void main(String[] args){
String[] arr = {"A","B","C","D","E","F"};
combinations2(arr, 3, 0, new String[3]);
}
static void combinations2(String[] arr, int len, int startPosition, String[] result){
if (len == 0){
System.out.println(Arrays.toString(result));
return;
}
for (int i = startPosition; i <= arr.length-len; i++){
result[result.length - len] = arr[i];
combinations2(arr, len-1, i+1, result);
}
}
}
结果
[A, B, C]
[A, B, D]
[A, B, E]
[A, B, F]
[A, C, D]
[A, C, E]
[A, C, F]
[A, D, E]
[A, D, F]
[A, E, F]
[B, C, D]
[B, C, E]
[B, C, F]
[B, D, E]
[B, D, F]
[B, E, F]
[C, D, E]
[C, D, F]
[C, E, F]
[D, E, F]
该博客展示了如何使用Java实现一个递归函数来生成指定长度的字符串组合。代码中定义了一个`combinations2`方法,它从给定的字符数组中找出所有可能的长度为`len`的组合。程序输出了所有可能的三字符组合,如[A,B,C]到[D,E,F]等。这个算法可以用于各种组合问题的求解,特别是在数据结构和算法的学习中。
766

被折叠的 条评论
为什么被折叠?



