LeetCode热题100 子集

题目描述

给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。

解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。

示例 1:

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

示例 2:

输入 :nums = 0
输出\[,0]

提示:

1 <= nums.length <= 10

-10 <= numsi <= 10

nums 中的所有元素 互不相同

思路

二进制枚举模板,详细见代码。

代码

cpp 复制代码
class Solution {
public:
    vector<vector<int>> subsets(vector<int>& nums) {
        int n = nums.size();
        vector<int>res;
        vector<vector<int>>ans;
        for(int i = 0; i < 1 << n; ++ i)
        {
            res.clear();
            for(int j = 0; j < n; ++j)
            {
                if(i >> j & 1)
                {
                    res.push_back(nums[j]);
                }
            }
            ans.push_back(res);
        }
        return ans;
    }
};
相关推荐
xieliyu.2 小时前
Java算法精讲:双指针(三)
java·开发语言·算法
一条小锦吕*2 小时前
基于Spring Boot + 数据可视化 + 协同过滤算法的推荐系统设计与实现(源码+论文+部署全讲解)
spring boot·算法·信息可视化
cfm_29144 小时前
Redis五大基本数据结构底层了解
数据结构·数据库·redis
如竟没有火炬4 小时前
最大矩阵——单调栈
数据结构·python·线性代数·算法·leetcode·矩阵
8Qi84 小时前
LeetCode 1143 & 718:最长公共子序列 / 最长重复子数组
算法·leetcode·职场和发展·动态规划
绿算技术5 小时前
万卡推理集群存储选型分析:从核心架构到应用视角
大数据·科技·算法·架构
Qt程序员5 小时前
Linux RCU 原理与应用
linux·c++·内核·linux内核·rcu
想吃火锅10056 小时前
【leetcode】1.两数之和js版
javascript·算法·leetcode
qeen876 小时前
【C++】类与对象之类的默认成员函数(二)
android·c语言·开发语言·c++·笔记·学习