1. 程式人生 > >Leetcode 78. 子集

Leetcode 78. 子集

cto bsp tor public code 子集 push_back pan ()

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

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

實例
輸入: nums = [1,2,3] 輸出: [ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], [] ]
class Solution {
public:
    vector<vector<int>> ans;
    bool v[100] = {false};
    
    void dfs(int idx, vector<int>& nums)
    {
        
if(idx >= nums.size()) { // record ans vector<int> tmp; for(int i=0; i<nums.size();++i) { if(v[i]) tmp.push_back(nums[i]); } ans.push_back(tmp); return ; }
//qu v[idx] = true; dfs(idx+1, nums); // buqu v[idx] = false; dfs(idx+1, nums); } vector<vector<int>> subsets(vector<int>& nums) { ans.clear(); dfs(0, nums); return ans; } };

Leetcode 78. 子集