Код: Выделить всё
import java.util.ArrayList;
public class Main{
public static void main(String[] args) {
ArrayList nums = new ArrayList();
List list= new ArrayList();
int[] arr = {2,3,5};
subset(list,nums,arr,0); //
System.out.println(list);
}
static void subset(List list,
ArrayList nums,
int[] arr, int index){
if(index==arr.length){
list.add(nums);
return ;
}
int c = arr[index];
nums.add(c);
subset(list,nums,arr,index+1); //
nums.remove(nums.size()-1);
subset(list,nums,arr, index+1); //
return ;
}
}
Код: Выделить всё
output={[],[],[],[],[],[],[],[]}
expected={[2,3,5],[2,3],[2,5],[2],[3,5],[3],[5],[]}
Подробнее здесь: https://stackoverflow.com/questions/767 ... -backtrack