/
githubmirror
/
interviews
Обзор
Документация
Войти
/
githubmirror
/
interviews
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
cracking-the-coding-interview/chapter-nine-recursion-and-dynamic-programming/AllSubsets.java
24 строки
805 B
Kevin Naughton Jr
finish renaming files and directories
27 мар 2018, 19:52
27 мар 2018, 19:52
ec6dfb5
Код
Авторство
О чём код?
/* write a method to return all subsets of a set */ public class AllSubsets { ArrayList<ArrayList<Integer>> getSubsets(ArrayList<Integer> set, int index) { ArrayList<ArrayList<Integer>> allsubsets; if(set.size() == index) { //base case - add empty set allsubsets = new ArrayList<ArrayList<Integer>>(); allsubsets.add(new ArrayList<Integer>()); //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); } allsubsets.addAll(moresubsets); } return allsubsets; } }