IOS, обрабатывать push-уведомления

Здесь нужно сгенерировать набор мощности. Идея первая = S[0], а меньшие - S[1,...n].

Вычислить все подмножества smallSet и поместить их в allsubsets.

Для каждого подмножества в allsubsets, клонировать его и добавлять сначала в подмножество.

ArrayList<ArrayList<Integer>> getSubsets(ArrayList<Integer> set, int index){
    ArrayList<ArrayList<Integer>> allsubsets;
    if(set.size() == index){
        allsubsets = new ArrayList<ArrayList<Integer>>();
        allsubsets.add(new ArrayList<Integer>()); // the empty set 
    }else{
        allsubsets = getSubsets(set, index+1);
        int item = set.get(index);

        ArrayList<ArrayList<Integer>> moresubsets = new ArrayList<ArrayList<Integer>>();

        for(ArrayList<Integer> subset: allsubsets){
            ArrayList<Integer> newsubset = new ArrayList<Integer>();

            newsubset.addAll(subset);
            newsubset.add(item);
            moresubsets.add(newsubset);

        }

        moresubsets.addAll(moresubsets);

    }

    return allsubsets;
}
0
задан user3629794 25 February 2015 в 00:32
поделиться