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迅...