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.

給定一個(gè)含不同整數(shù)的集合,返回其所有的子集

注意:子集中的元素排列必須是非降序的,解集必須不包含重復(fù)的子集

【題目鏈接】

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

【題目解析】

子集類問(wèn)題類似Combination,以輸入數(shù)組[1, 2, 3]分析,根據(jù)題意,最終返回結(jié)果中子集類的元素應(yīng)該按照升序排列,故首先需要對(duì)原數(shù)組進(jìn)行排序。題目的第二點(diǎn)要求是子集不能重復(fù),至此原題即轉(zhuǎn)化為數(shù)學(xué)中的組合問(wèn)題。我們首先嘗試使用 DFS 進(jìn)行求解,大致步驟如下:

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

[2] -> [2, 3]

[3]

將上述過(guò)程轉(zhuǎn)化為代碼即為對(duì)數(shù)組遍歷,每一輪都保存之前的結(jié)果并將其依次加入到最終返回結(jié)果中。

【答案鏈接】

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 背景 一年多以前我在知乎上答了有關(guān)LeetCode的問(wèn)題, 分享了一些自己做題目的經(jīng)驗(yàn)。 張土汪:刷leetcod...
    土汪閱讀 12,775評(píng)論 0 33
  • 【題目描述】 Given a list of numbers that may has duplicate num...
    代碼碼著玩閱讀 543評(píng)論 0 0
  • LeetCode 刷題隨手記 - 第一部分 前 256 題(非會(huì)員),僅算法題,的吐槽 https://leetc...
    蕾娜漢默閱讀 17,934評(píng)論 2 36
  • 先決條件 在閱讀這個(gè)教程之前,你多少需要知道點(diǎn)python。如果你想從新回憶下,請(qǐng)看看Python Tutoria...
    舒map閱讀 2,602評(píng)論 1 13
  • 一:標(biāo)題 一級(jí)標(biāo)題 二級(jí)標(biāo)題 三級(jí)標(biāo)題 四級(jí)標(biāo)題 五級(jí)標(biāo)題 六級(jí)標(biāo)題 二:列表 無(wú)序列表 文本1 文本2 文本3 ...
    Leo_hai閱讀 524評(píng)論 0 2