我正在尝试解决获取子集S = [1,2,3]的所有集合的问题。 我正在使用递归来解决这个问题。我正在尝试在基本案例中创建一个包含EmptyList的空ArrayList。在制作自己的ans时,我上面提到的是编译时错误。
我已经尝试过蚀建议addAll,但仍然出现错误。
public static ArrayList<ArrayList<Integer>> relatedSubSets(ArrayList<Integer> A,int index){
if(index == A.size()){
ArrayList<ArrayList<Integer>> br=new ArrayList<ArrayList<Integer>();
ArrayList<Integer> emptyList=new ArrayList<Integer>();
br.add(emptyList); //Making an arraylist containing empty list
return br;``
}
ArrayList<ArrayList<Integer>> rr=relatedSubSets(A,index+1); // Getting the recursion result in it.
ArrayList<ArrayList<Integer>> mr=new ArrayList<>();
for(int i=0;i<rr.size();i++){
ArrayList<Integer> ans=rr.get(i);
mr.add(ans);
mr.add(ans.add(0,A.get(index))); //Error in this line of the code
}
System.out.println(mr);
return mr;
}
预期输出是所有子集。但是出现编译时错误。