Lintcode17 Subsets solution 題解

【題目描述】

Given a set of distinct integers, return all possible subsets.

Notice:Elements in a subset must be in non-descending order;The solution set must not contain duplicate subsets.

給定一個含不同整數的集合,返回其所有的子集

注意:子集中的元素排列必須是非降序的,解集必須不包含重複的子集

【題目鏈接】

http://www.lintcode.com/en/problem/subsets/

【題目解析】

子集類問題類似Combination,以輸入數組[1, 2, 3]分析,根據題意,最終返回結果中子集類的元素應該按照升序排列,故首先需要對原數組進行排序。題目的第二點要求是子集不能重複,至此原題即轉化爲數學中的組合問題。我們首先嚐試使用 DFS 進行求解,大致步驟如下:

[1] -> [1, 2] -> [1, 2, 3]

[2] -> [2, 3]

[3]

將上述過程轉化爲代碼即爲對數組遍歷,每一輪都保存之前的結果並將其依次加入到最終返回結果中。

【答案鏈接】

http://www.jiuzhang.com/solution/subsets/


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章