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;
    }
};
相关推荐
m0_629494731 分钟前
LeetCode 热题 100-----25.回文链表
数据结构·算法·leetcode·链表
程序leo源11 分钟前
Qt窗口详解
开发语言·数据库·c++·qt·青少年编程·c#
東隅已逝,桑榆非晚15 分钟前
字符函数和字符串函数
c语言·笔记
Upsy-Daisy1 小时前
AI Agent 项目学习笔记(七):RAG 高级扩展——过滤检索、PgVector 与云知识库
人工智能·笔记·学习
zh_xuan1 小时前
解决VS Code 控制台中文乱码
c++·vscode·乱码
郭涤生1 小时前
飞凌 RK3588 开发板同显 / 异显模式切换
c++·rk3588
计算机安禾1 小时前
【c++面向对象编程】第38篇:设计原则(二):里氏替换、接口隔离与依赖倒置
开发语言·c++
ʚ希希ɞ ྀ1 小时前
单词拆分----dp
算法
code_whiter2 小时前
C++1进阶(继承)
开发语言·c++
智者知已应修善业2 小时前
【51单片机LED闪烁10次数码管显示0-9】2023-12-14
c++·经验分享·笔记·算法·51单片机