【发布时间】:2021-11-15 19:03:51
【问题描述】:
在编译时我真的对一件事感到好奇,在下面给定的代码中,我正在创建嵌套的 for 循环,我给出了一个限制
subsetArr.size()
但是编译时说内存超出,如果我在 for 循环之前定义大小
int size = subsetArr.size()
然后将限制作为大小传递
我
它工作正常。可能是什么原因?
class Solution {
public List<List<Integer>> subsets(int[] nums) {
List<List<Integer>> subsetArr = new ArrayList<>();
subsetArr.add(new ArrayList());
for(int num: nums){
for(int i=0; i<subsetArr.size(); i++){
List<Integer> takenList = new ArrayList<>(subsetArr.get(i));
takenList.add(num);
subsetArr.add(takenList);
}
}
return subsetArr;
}
}
【问题讨论】:
标签: subset