leetcode題 78 子集(中等)

2021-09-26 04:40:57 字數 741 閱讀 4272

一、題目描述:78. 子集(中等)

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

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

示例:輸入: nums = [1,2,3]

輸出:[

[3],

[1],

[2],

[1,2,3],

[1,3],

[2,3],

[1,2],

]

二、解題思路

方法一、遇到乙個數就把之前所有子集加上該數組成新的子集,遍歷完畢即是新的子集.感覺這個真的是神仙思路了。(別人那裡抄過來的)

方法二,就是遞迴使用回溯法,將當前數字加入棧,然後遞迴進入下一迴圈,當棧的個數為i的時候,儲存棧的數字組合。每次遞迴返回後,將進入遞迴前入棧的元素出棧,繼續試探下乙個數,進入遞迴。獲取i個數的所有組合(0<=i<=n)。

三、**

方法二。

class solution 

return all_arrays;

}void subsets_r(vector& nums,vector& array,vector>& all_arrays,int &n,int index)

if(index == nums.size())

for(int i = index; index < nums.size();index++ )

}};

leetcode78子集 中等

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

LeetCode 78 子集 中等難度

題目 給定一組不含重複元素的整數陣列 nums,返回該陣列所有可能的子集 冪集 說明 解集不能包含重複的子集。示例 輸入 nums 1,2,3 輸出 1 2 3 1,2,3 1,3 2,3 1,2 解題思路 大概的思路就是每個數字只有兩個選擇,要麼選擇,要麼不選擇。就是回溯演算法 深度優先搜尋 想象...

LeetCode 916 單詞子集 中等

我們給出兩個單詞陣列 a 和 b。每個單詞都是一串小寫字母。現在,如果 b 中的每個字母都出現在 a 中,包括重複出現的字母,那麼稱單詞 b 是單詞 a 的子集。例如,wrr 是 warrior 的子集,但不是 world 的子集。如果對 b 中的每乙個單詞 b,b 都是 a 的子集,那麼我們稱 a...