Finden Sie alle Kombinationen von n zahlen eines gegebenen Satzes von zahlen

möchte ich mal eine app zu finden, die alle möglichen Kombinationen von n zahlen eines gegebenen Satzes von zahlen und liefert ein hashset von Ihnen..
zum Beispiel, wenn eine bestimmte Menge{1,5,7,9} und die Größe von Satz 2 ist, dann nehme ich:

[1, 5] [1, 7] [1, 9] [5, 7] [5, 9]

ich habe folgenden code aus diesem post aber ich kann nicht so geändert, daß für eine gegebene Größe von jedem.

import java.util.ArrayList;
import java.util.Arrays;

class SumSet {
    static void sum_up_recursive(ArrayList<Integer> numbers,ArrayList<Integer> partial) {

       System.out.println("sum("+Arrays.toString(partial.toArray())+")=");

       for(int i=0;i<numbers.size();i++) 
       {
           ArrayList<Integer> remaining = new ArrayList<Integer>();
             int n = numbers.get(i);
             for (int j=i+1; j<numbers.size();j++) 
                 remaining.add(numbers.get(j));

             ArrayList<Integer> partial_rec = new ArrayList<Integer>(partial);
             partial_rec.add(n);
             sum_up_recursive(remaining,partial_rec);
       }
    }
    static void sum_up(ArrayList<Integer> numbers) {
        sum_up_recursive(numbers,new ArrayList<Integer>());
    }
    public static void main(String args[]) {
        Integer[] numbers = {1,5,7,9};
        sum_up(new ArrayList<Integer>(Arrays.asList(numbers)));
    }
}

InformationsquelleAutor a.s.p. | 2014-04-17

Schreibe einen Kommentar