本帖最后由 谢波 于 2013-3-18 15:56 编辑
比如说数组:int[] arr = {1,2,3}; 打印出他们的所有2个数的组合
结果是:12 13 23
求打印任意个数元素的任意个数的所有组合思路和详细代码,最好用递归
谢谢了
排列我会了
已经解决 谢谢大家 的帮助
奉上源代码:- public class Combination1 {
- public static void main(String[] args) {
- String input = "abcd";
- int num = 4;
- Combine(input, num);
- }
- private static void Combine(String input, int num) {
- char[] a = input.toCharArray();
- String b = "";
- Combine(a, num, b, 0);
- }
- private static void Combine(char[] a, int num, String b, int low)
- {
- if (num == 0)
- {
- System.out.println(b);
- }
- else
- {
- for (int i = low; i < a.length; i++)
- {
- b += a[i];
- Combine(a, num - 1, b, i+1);
- b=b.substring(0, b.length()-1);
- }
- }
- }
- }
复制代码 |