[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 = [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]