給定一組不含重複元素的整數陣列 nums,返回該陣列所有可能的子集(冪集)。
說明:解集不能包含重複的子集。
示例:輸入: nums = [1,2,3]
輸出:[
[3],
[1],
[2],
[1,2,3],
[1,3],
[2,3],
[1,2],
]要列出陣列的所有子集,因為陣列是不含重複元素的,所以對於每乙個位置的數字,有兩個選擇,選或者不選。
可以畫出以下的遞迴樹:
class
solution
void
digui
(int n,vector<
int>
& nums,vector<
int>
& item,vectorint>>
& result)
item.
push_back
(nums[n]);
result.
push_back
(item)
;digui
(n+1
,nums,item,result)
; item.
pop_back()
;digui
(n+1
,nums,item,result);}
private
: vector<
int> item;
vectorint>> result;
};
LeetCode 78 子集 中等難度
題目 給定一組不含重複元素的整數陣列 nums,返回該陣列所有可能的子集 冪集 說明 解集不能包含重複的子集。示例 輸入 nums 1,2,3 輸出 1 2 3 1,2,3 1,3 2,3 1,2 解題思路 大概的思路就是每個數字只有兩個選擇,要麼選擇,要麼不選擇。就是回溯演算法 深度優先搜尋 想象...
leetcode題 78 子集(中等)
一 題目描述 78.子集 中等 給定一組不含重複元素的整數陣列 nums,返回該陣列所有可能的子集 冪集 說明 解集不能包含重複的子集。示例 輸入 nums 1,2,3 輸出 3 1 2 1,2,3 1,3 2,3 1,2 二 解題思路 方法一 遇到乙個數就把之前所有子集加上該數組成新的子集,遍歷完...
LeetCode 78 子集 Go 實現
子集 給你乙個整數陣列 nums 陣列中的元素 互不相同 返回該陣列所有可能的子集 冪集 解集 不能 包含重複的子集。你可以按 任意順序 返回解集。示例 1 輸入 nums 1,2,3 輸出 1 2 1,2 3 1,3 2,3 1,2,3 示例 2 輸入 nums 0 輸出 0 func subse...