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;
    }
};
相关推荐
杨小扩1 分钟前
OpenAI Codex CLI 命令行参考笔记
人工智能·笔记
Lee川2 分钟前
时空迷宫探险记:从O(1)到O(2^n)的算法进化论
算法·面试
KangJX9 分钟前
Matrix获取卡顿堆栈 (Point Stack)
算法·客户端
靠沿14 分钟前
【优选算法】专题十三——队列+宽搜(BFS)
算法·宽度优先
做cv的小昊19 分钟前
大语言模型系统:【CMU 11-868】课程学习笔记06——Transformer学习(Transformer)
笔记·学习·语言模型
ccLianLian41 分钟前
算法·字符串哈希
算法·哈希算法
SongYuLong的博客44 分钟前
Linux IPC进程通信几种方法
linux·运维·算法
像污秽一样1 小时前
算法设计与分析-习题6.1
数据结构·算法
C++ 老炮儿的技术栈1 小时前
Linux 文件系统目录架构全解析
linux·服务器·c语言·开发语言·c++
北京地铁1号线1 小时前
8.2 对比学习的损失函数
算法·机器学习·损失函数·对比学习