面试题 08.04:幂集

简介: 面试题 08.04:幂集

题目

题目链接

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

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

示例:

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

解题

方法一:回溯

class Solution {
public:
    vector<vector<int>> res;
    vector<int> path;
    void backtracing(vector<int>& nums,int startIndex){
        if(startIndex>nums.size()) return;
        else res.push_back(path);
        for(int i=startIndex;i<nums.size();i++){
            path.push_back(nums[i]);
            backtracing(nums,i+1);
            path.pop_back();
        }
    }
    vector<vector<int>> subsets(vector<int>& nums) {
        backtracing(nums,0);
        return res;
    }
};
相关文章
|
Cloud Native 关系型数据库 MySQL
面试题30天打卡-day18
面试题30天打卡-day18
43 0
|
存储 XML Java
面试题30天打卡-day13
面试题30天打卡-day13
45 0
|
7月前
面试题
面试题
37 0
|
设计模式 负载均衡 Java
面试题30天打卡-day25
面试题30天打卡-day25
30 0
|
前端开发 Java 数据库
面试题30天打卡-day01
面试题30天打卡-day01
54 0
|
设计模式 算法 Java
面试题30天打卡-day22
面试题30天打卡-day22
63 0
|
存储 Java 大数据
面试题30天打卡-day07
面试题30天打卡-day07
31 0
|
NoSQL 前端开发 Java
面试题30天打卡-day12
面试题30天打卡-day12
42 0
|
存储 缓存 NoSQL
面试题30天打卡-day19
面试题30天打卡-day19
40 0
|
缓存 监控 安全
Java多线程并发面试题 1
Java多线程并发面试题
55 0
下一篇
DataWorks