11| 子集

一、核心思路

利用二进制枚举所有可能情况。

二、代码实现

cpp 复制代码
class Solution {
public:
    vector<vector<int>> subsets(vector<int>& nums) {
        vector<vector<int>> ret;
        int n = nums.size();
        // 枚举所有情况
        for (int i  = 0; i < (1 << n); i++)
        {
            vector<int> tmp; // 当前子集
            for (int j = 0; j <= n; j++)
            {
                if ((i >> j) & 1) tmp.push_back(nums[j]);
            }
            ret.push_back(tmp);
        }    
        return ret;
    }
};
相关推荐
阿猿收手吧!2 小时前
【C++】无锁原子栈:CAS实现线程安全
开发语言·c++·安全
Gain_chance2 小时前
29-学习笔记尚硅谷数仓搭建-DWD层交易域下单事务事实表和交易域支付成功事务事实表
数据仓库·hive·笔记·学习·datagrip
Jinuss2 小时前
源码分析之React中Scheduler调度器的最小二叉堆
javascript·算法·react.js
云游云记2 小时前
php 高精度数学扩展 bcmath 知识笔记
笔记·php·bcmath
高洁012 小时前
多模态融合驱动下的具身学习机制研究
python·算法·机器学习·数据挖掘·知识图谱
宵时待雨2 小时前
数据结构(初阶)笔记归纳10:二叉树
数据结构·笔记·算法
今天你TLE了吗2 小时前
JVM学习笔记:第一章——JVM&Java体系结构
java·jvm·笔记·学习
蒹葭玉树2 小时前
【C++上岸】C++常见面试题目--操作系统篇(第三十期)
c++·面试·risc-v
凤年徐2 小时前
容器适配器深度解析:从STL的stack、queue到优先队列的底层实现
开发语言·c++·算法