leetcode90子集II 中等

2021-09-24 14:37:45 字數 820 閱讀 4136

給定乙個可能包含重複元素的整數陣列 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...