LeetCode Subsets 求陣列子集

2021-06-22 16:45:12 字數 817 閱讀 6981

given a set of distinct integers, s, return all possible subsets.

note:

for example,

if s

=[1,2,3], a solution is:

[

[3],

[1],

[2],

[1,2,3],

[1,3],

[2,3],

[1,2],

]

分析:

每個元素,都有放或者不放兩種選擇。深搜問題。

方法二:

觀察上述搜尋樹,發現當前層的集合=上一層的集合+上一層集合加上當前元素的集合。那麼有此規律,我們完全就可以省去遞迴開銷。

class solution {

public:

vector> subsets(vector&s) {

vector> res(1); //初始有乙個空集

vectortmp;

sort(s.begin(),s.end());

for(int i=0;i

Leetcode Subsets 求陣列的所有子集

given a set of distinct integers,s,return all possible subsets.note for example,if s 1,2,3 a solution is 3 1 2 1,2,3 1,3 2,3 1,2 本文總結了三種思路來求陣列的子集集合。前兩...

求陣列中和最大的子陣列

題目一 輸入乙個整形陣列,陣列裡有正數也有負數。陣列中連續的乙個或多個整數組成乙個子陣列,每 個子陣列都有乙個和。求所有子陣列的和的最大值。要求時間複雜度為o n cpp view plain copy include stdio.h include conio.h 求一維陣列的最大連續子陣列元素之...

求陣列子串行的最大和

輸入乙個整形陣列,陣列裡可以有正數或負數 陣列中連續的乙個或多個整數組成乙個子陣列,每個子陣列都有乙個和。求所有子陣列的和的最大值。要求 時間複雜度為o n 例如輸入的陣列為1,2,3,10,4,7,2,5,和最大的子陣列為3,10,4,7,2,因此輸出為該子陣列的和18。第一次遇到這道題是參加x迅...