首页 > 其他分享 >78. 子集

78. 子集

时间:2024-11-11 11:33:59浏览次数:5  
标签:index nums process vector 子集 ans path 78

  1. 题目链接

  2. 解题思路

    • 从左往右的尝试,暴力递归(回溯),process(index, path),来到index,两种情况,要index的数,或者不要index的数
  3. 代码

    class Solution {
    public:
        void process(vector<vector<int>> &ans, const vector<int>& nums, int index, vector<int> &path) {
            if (index == nums.size()) {
                ans.push_back(path);
                return;
            }
            // 要这个数
            path.push_back(nums[index]);
            process(ans, nums, index + 1, path);
            path.pop_back();   // 不要忘记恢复现场
    
            // 不要这个数
            process(ans, nums, index + 1, path);
        }
        
        vector<vector<int>> subsets(vector<int>& nums) {
            vector<vector<int>> ans;
            vector<int> path;
            process(ans, nums, 0, path);
            return ans;
        }
    };
    

标签:index,nums,process,vector,子集,ans,path,78
From: https://www.cnblogs.com/ouyangxx/p/18539353

相关文章

  • [CodeForces] CF1978 题解
    A.AliceandBooksLink-CFLink-Luogu【题目大意】\(n\)本书,编号为\(1\)到\(n\),价值为\(a_1\)到\(a_n\)。将这些书分成两堆,你获得每堆编号最大的书的价值。求可以获得的最大的价值。【解题思路】无论怎样,编号为\(n\)的书不管在那一堆都是编号最大的,所以一定会有它......
  • 干货分享:通用加解密函数(crypto),Air780E篇
    一、加解密概述加解密算法是保证数据安全的基础技术,无论是在数据传输、存储,还是用户身份验证中,都起着至关重要的作用.随着互联网的发展和信息安全威胁的增加,了解并掌握常用的加解密算法已经成为开发者和安全从业者的必修课.常见的15种加密解密算法分别是:散列哈希[MD5、SHA......
  • 干货分享:Air780E软件指南:字符串处理
    一、Lua字符串介绍关于字符串,Lua提供了一些灵活且强大的功能,一些入门知识如下:1.1字符串定义在Lua中,字符串可以用单引号'或双引号"来定义。例如:localstr1='Hello,World!'localstr2="Hello,Lua!"1.2字符串长度可以使用#操作符获取字符串的长度。例如:locallength=#"H......
  • Air780E软件指南:C语言内存数组(zbuff)
    一、ZBUFF(C内存数组)简介zbuff库可以用c风格直接操作(下标从0开始),例如buff[0]=buff[3]可以在sram上或者psram上申请空间,也可以自动申请(如存在psram则在psram进行申请,如不存在或失败则在sram进行申请)。操作里面的元素时,可以根据光标进行增删改查。偏移方式有三种:从头......
  • Nexpose 6.6.278 发布下载,新增功能概览
    Nexpose6.6.278forLinux&Windows-漏洞扫描Rapid7VulnerabilityManagement,releasedNov07,2024请访问原文链接:https://sysin.org/blog/nexpose-6/查看最新版。原创作品,转载请保留出处。作者主页:sysin.org您的本地漏洞扫描程序新增功能Nexpose2024-11-07......
  • Air780E软件指南:UDP应用示例
    一、UDP概述UDP(用户数据报协议,UserDatagramProtocol)是一种无连接的、不可靠的传输层协议,主要用于实现网络中的快速通讯。以下是UDP通讯的主要特点:1.1无连接通讯:UDP在发送数据之前不需要建立连接,这大大减少了通讯的延迟。发送方只需将数据包封装成UDP报文,并附上目的地址......
  • Air780E软件指南:zlib解压示例
    一、ZLIB解压工具简介Zlib解压工具是一个广泛使用的压缩和解压缩库,主要用于处理数据的压缩和解压缩任务。Zlib使用的是DEFLATE算法,这是一种通用的压缩算法。它被应用在很多场景中,比如压缩文件、网络传输中的数据压缩、以及各种应用程序中的数据存储和读取。Zlib的代码库相......
  • tensorflow案例5--基于改进VGG16模型的马铃薯识别,准确率提升0.6%,计算量降低78.07%
    ......
  • 代码随想录 -- 动态规划 -- 分割等和子集
    416.分割等和子集-力扣(LeetCode)思路:题目中表述:将数组nums分割成两个子集,使得两个子集的元素和相等。可以转化为:有一个背包,如果存在部分元素组合可以令容量为nums的和的一半的背包容纳的最大价值也为nums的和的一半,那么剩下的元素和也是nums的一半,则符合题意。dp[j]含义:......
  • 知识分享:Air780E软件之UDP应用示例
    一、UDP概述UDP(用户数据报协议,UserDatagramProtocol)是一种无连接的、不可靠的传输层协议,主要用于实现网络中的快速通讯。以下是UDP通讯的主要特点:1.1无连接通讯:UDP在发送数据之前不需要建立连接,这大大减少了通讯的延迟。发送方只需将数据包封装成UDP报文,并附上目的地址......