更多题解尽在 https://sugar.matrixlab.dev/algorithm 每日更新。
组队打卡,更多解法等你一起来参与哦!
LeetCode 78. 子集,难度中等。
迭代
解题思路:
- 初始化结果集
result
,其中包含一个空集[]
; - 遍历数组中的每一个元素;
- 对于每一个元素,将其添加到当前结果集中的每一个子集,形成新的子集;
- 将所有新生成的子集加入到结果集中。
class Solution {public List<List<Integer>> subsets(int[] nums) {List<List<Integer>> result = new ArrayList<>();// 加入 []result.add(new ArrayList<>());for (int num : nums) {List<List<Integer>> newSubsets = new ArrayList<>();for (List<Integer> r : result) {List<Integer> newSubset = new ArrayList<>(r);newSubset.add(num);newSubsets.add(newSubset);}result.addAll(newSubsets);}return result;}
}