力扣hot100 子集 回溯 超简洁

Problem: 78. 子集
力扣hot100 子集 回溯 超简洁_第1张图片

文章目录

  • 思路
  • 复杂度
  • Code

思路

‍ 参考题解

复杂度

时间复杂度:

添加时间复杂度, 示例: O ( n ) O(n) O(n)

空间复杂度:

添加空间复杂度, 示例: O ( n ) O(n) O(n)

Code

class Solution {
	List> ans = new ArrayList<>();
	List t = new ArrayList<>();
	int a[], n;

	public List> 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);
	}
}

你可能感兴趣的:(力扣,hot100,leetcode,算法,职场和发展)