从空集开始,每次取一个数加入每个已有的子集,保留原有子集的同时将新生成的子集加入所有子集的集合中。
时间复杂度2^n,是np问题,所以每个步骤都要尽量省时间,否则超时。并且没注意那个size是变动的!死循环!
1.List 和 ArrayList的声明还是搞混,
List<List<Integer>> res = new ArrayList<List<Integer>>();这里谁是外层谁是内层搞混了
List<Integer> sub = new ArrayList<Integer>();
2.循环里面上限用某size,不应该将计算size的函数写在for的判断条件里面,因为内层循环的size是固定