LeetCode-078-子集

解集 不能 包含重復(fù)的子集。你可以按 任意順序 返回解集。
示例說明請見LeetCode官網(wǎng)。
來源:力扣(LeetCode) ??
鏈接:https://leetcode-cn.com/problems/subsets/ ??
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
解法一:dfs(深度優(yōu)先遍歷)
聲明2個全局變量分別為結(jié)果集(result)和當前路徑(path),添加一個深度優(yōu)先遍歷的方法,該方法具體邏輯如下:
當
k=0
時,即當前路徑已經(jīng)有k個數(shù)了,說明當前路徑符合條件,添加到結(jié)果集中;然后遍歷從1開始的數(shù),遞歸調(diào)用dfs方法,調(diào)用完之后將當前路徑的最后一個數(shù)從路徑中去掉。
上面的處理過程和 LeetCode-077-組合 的邏輯完全一樣,區(qū)別就是本題需要遍歷所有可能的元素個數(shù)(0到n之間)的組合,然后都加到結(jié)果集中。
【每日寄語】 “坐而言,不如起而行”,在沒有做出成績時,就去學(xué)去做,把實力積攢起來等待機會。
標簽: