leetcode面试题08.04 幂集(排列组合)

    科技2025-08-04  21

    题目描述: 幂集。编写一种方法,返回某集合的所有子集。集合中不包含重复的元素。

    说明:解集不能包含重复的子集。

    示例:

    输入: nums = [1,2,3] 输出: [ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], [] ]

    思路: 遍历所有nums 第1轮:[] 第2轮:[]、[1] 第3轮:[]、[1]、[2]、[1,2] 第4轮:[]、[1]、[2]、[1,2]、[3]、[1,3]、[2,3]、[1,2,3]

    代码如下:

    class Solution { public: vector<vector<int>> subsets(vector<int>& nums) { vector<vector<int>>res; res.push_back({}); int i=0; while(i<nums.size()){ int n=res.size(); for(int j=0;j<n;j++){ vector<int>tmp=res[j]; tmp.push_back(nums[i]); res.push_back(tmp); } i++; } return res; } };
    Processed: 0.019, SQL: 8