LeetCode 78 子集 中等難度

2021-10-25 08:56:53 字數 1062 閱讀 3009

題目:

給定一組不含重複元素的整數陣列 nums,返回該陣列所有可能的子集(冪集)。

說明:解集不能包含重複的子集。

示例:

輸入: nums =

[1,2,3]

輸出:[

[1],

[2],

[3],

[1,2,3],

[1,3],

[2,3],

[1,2],

]

解題思路:大概的思路就是每個數字只有兩個選擇,要麼選擇,要麼不選擇。就是回溯演算法(深度優先搜尋)。想象一棵樹。

1.先寫出深度優先演算法函式;

函式定義:利用引用把值傳回主函式;

2.主函式呼叫

3.在樹的最底層把遍歷結果放在result裡

); //選擇nums,進一步 樹的左支

generate(i-1,nums,item,result)

; item.pop_back(

); //退一步

generate(i-1,nums,item,result);}

};注意:首先是結果的選擇,需要放在判斷if裡,如果到了樹的最底層,就把結果放在rusult裡

一開始並不需要把空的item放到result裡,因為最右端就是一條空的值。

leetcode78子集 中等

給定一組不含重複元素的整數陣列 nums,返回該陣列所有可能的子集 冪集 說明 解集不能包含重複的子集。示例 輸入 nums 1,2,3 輸出 3 1 2 1,2,3 1,3 2,3 1,2 要列出陣列的所有子集,因為陣列是不含重複元素的,所以對於每乙個位置的數字,有兩個選擇,選或者不選。可以畫出以...

leetcode題 78 子集(中等)

一 題目描述 78.子集 中等 給定一組不含重複元素的整數陣列 nums,返回該陣列所有可能的子集 冪集 說明 解集不能包含重複的子集。示例 輸入 nums 1,2,3 輸出 3 1 2 1,2,3 1,3 2,3 1,2 二 解題思路 方法一 遇到乙個數就把之前所有子集加上該數組成新的子集,遍歷完...

LeetCode 78 子集 Go 實現

子集 給你乙個整數陣列 nums 陣列中的元素 互不相同 返回該陣列所有可能的子集 冪集 解集 不能 包含重複的子集。你可以按 任意順序 返回解集。示例 1 輸入 nums 1,2,3 輸出 1 2 1,2 3 1,3 2,3 1,2,3 示例 2 輸入 nums 0 輸出 0 func subse...