給定乙個可能包含重複元素的整數陣列 nums,返回該陣列所有可能的子集(冪集)。
說明:解集不能包含重複的子集。
示例:輸入: [1,2,2]
輸出:[
[2],
[1],
[1,2,2],
[2,2],
[1,2],
]在上乙個子集的基礎上,先對陣列排序,在push進result之前,先insert進set集合,即可保證子集不重複
class
solution
private
: vector<
int> item;
vectorint>> result;
setint>> retset;
//去重
void
digui
(int n,vector<
int>
& nums,vector<
int>
& item,vectorint>>
& result)
item.
push_back
(nums[n]);
if(retset.
find
(item)
==retset.
end())
digui
(n+1
,nums,item,result)
; item.
pop_back()
;digui
(n+1
,nums,item,result);}
};
LeetCode 90 子集 II 動態規劃思想
給定乙個可能包含重複元素的整數陣列 nums,返回該陣列所有可能的子集 冪集 說明 解集不能包含重複的子集。示例 輸入 1 2,2 輸出 2 1 1,2,2 2,2 1,2 思路 因為給定的陣列可能包含重複元素,我們只考慮元素的種類,對每一種元素,考慮加入多少個就好了 狀態轉移 求前 i種 注意這裡...
leetcode演算法練習 90 子集 II
所有題目源 git位址 題目給定乙個可能包含重複元素的整數陣列 nums,返回該陣列所有可能的子集 冪集 說明 解集不能包含重複的子集。示例 輸入 1 2,2 輸出 2 1 1,2,2 2,2 1,2 方案 回朔 去重class solution return output 迴圈 0,nums.le...
leetcode筆記 90子集
題目 給定乙個可能包含重複元素的整數陣列nums,返回該陣列所有可能的子集 冪集 說明 解集不能包含重複的子集。示例 輸入 1,2,2 輸出 2 1 1,2,2 2,2 1,2 以下的 由一些深度優先搜尋的感覺,整體使用了遞迴的思路。public class solution private voi...