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;
    }
};
相关推荐
阿里云大数据AI技术21 分钟前
阿里云PAI助力新一代Qwen3.5模型发布!
人工智能·算法
小白菜又菜39 分钟前
Leetcode 221. Maximal Square
算法·leetcode·职场和发展
流云鹤1 小时前
牛客周赛Round 132(无F)
算法
Lee川1 小时前
深入解析:从内存模型到作用域陷阱——JavaScript变量的前世今生
javascript·算法
㓗冽1 小时前
回文数2(字符串)-基础题97th + 加法器(字符串)-基础题98th + 构造序列(字符串)-基础题99th
算法
肆忆_1 小时前
Day 04|线程安全引用计数:让 SharedPtr 支持并发拷贝/析构
c++
桂花很香,旭很美1 小时前
Anthropic Agent 工程实战笔记(二)工具设计
笔记·架构·language model
三水彡彡彡彡1 小时前
C++拷贝函数:const与引用的高效实践
开发语言·c++
陈天伟教授2 小时前
人工智能应用- 预测化学反应:02. 化学反应简介
人工智能·神经网络·算法·机器学习·推荐算法