更多題解盡在 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;}
}