Problem: 78. 子集
思路
复杂度
时间复杂度:
添加时间复杂度, 示例: O ( n ) O(n) O(n)
空间复杂度:
添加空间复杂度, 示例: O ( n ) O(n) O(n)
Code
class Solution {
List<List<Integer>> ans = new ArrayList<>();
List<Integer> t = new ArrayList<>();
int a[], n;
public List<List<Integer>> subsets(int[] nums)
{
a = nums;
n = nums.length;
dfs(0);
return ans;
}
private void dfs(int cur)
{
if (cur == n)
{
ans.add(new ArrayList<>(t));
return;
}
// 选取当前位
t.add(a[cur]);
dfs(cur + 1);
t.remove(t.size() - 1);
// 不选当前位
dfs(cur + 1);
}
}