[LeetCode] 78. Subsets
Given a set of distinct integers, nums, return all possible subsets.
Note: The solution set must not contain duplicate subsets.
For example,
If nums =
If nums =
[1,2,3]
, a solution is:[ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], [] ]
https://www.sigmainfy.com/blog/leetcode-subset-i-and-ii.html <== 完整的分析
思路: DFS, recursion,iterative, bit operation 應該都可以做.
題目已經清楚表明數字不重複 所以可以一次挑一個數字往上堆 再加上原來的subset
1.) subset 一開始是空 [[]]
2.) 拿1出來往空list 堆 => [1]
3.) 再加上原來的 subset => [], [1]
4.) 拿2出來list 堆 => [2], [1,2]
5.) 再加上原來的 subset => [], [1], [2], [1,2]
6.) 拿3出來list 堆 => [3], [1,3], [2,3], [1,2,3]
7.) 再加上原來的 subset => [], [1], [2], [1,2], [3], [1,3], [2,3], [1,2,3]
留言
張貼留言