17. Subsets【medium】
Given a set of distinct integers, return all possible subsets.
Notice
- Elements in a subset must be in non-descending order.
 - The solution set must not contain duplicate subsets.
 
If S = [1,2,3], a solution is:
[
  [3],
  [1],
  [2],
  [1,2,3],
  [1,3],
  [2,3],
  [1,2],
  []
]
Can you do it in both recursively and iteratively?
题意
给定一个含不同整数的集合,返回其所有的子集
注意事项
子集中的元素排列必须是非降序的,解集必须不包含重复的子集
解法一:
 class Solution {
 public:
     /*
      * @param nums: A set of numbers
      * @return: A list of lists
      */
     vector<vector<int>> subsets(vector<int> &nums) {
         // write your code here
         vector<vector<int> > results;
         vector<int> result;
         sort(nums.begin(), nums.end());
         helper(nums, , result, results);
         return results;
     }
     void helper(vector<int> &nums, int start, vector<int> & result, vector<vector<int> > & results)
     {
         results.push_back(result);
         for (int i = start; i < nums.size(); ++i) {
             result.push_back(nums[i]);
             helper(nums, i + , result, results);
             result.pop_back();
         }
     }
 };
17. Subsets【medium】的更多相关文章
- CF895C: Square Subsets && 【BZOJ2844】albus就是要第一个出场
		
CF895C: Square Subsets && [BZOJ2844]albus就是要第一个出场 这两道题很类似,都是线性基的计数问题,解题的核心思想也一样. CF895C Squa ...
 - 2. Add Two Numbers【medium】
		
2. Add Two Numbers[medium] You are given two non-empty linked lists representing two non-negative in ...
 - 92. Reverse Linked List II【Medium】
		
92. Reverse Linked List II[Medium] Reverse a linked list from position m to n. Do it in-place and in ...
 - 82. Remove Duplicates from Sorted List II【Medium】
		
82. Remove Duplicates from Sorted List II[Medium] Given a sorted linked list, delete all nodes that ...
 - 61. Search for a Range【medium】
		
61. Search for a Range[medium] Given a sorted array of n integers, find the starting and ending posi ...
 - 62. Search in Rotated Sorted Array【medium】
		
62. Search in Rotated Sorted Array[medium] Suppose a sorted array is rotated at some pivot unknown t ...
 - 74. First Bad Version 【medium】
		
74. First Bad Version [medium] The code base version is an integer start from 1 to n. One day, someo ...
 - 75. Find Peak Element 【medium】
		
75. Find Peak Element [medium] There is an integer array which has the following features: The numbe ...
 - 159. Find Minimum in Rotated Sorted Array 【medium】
		
159. Find Minimum in Rotated Sorted Array [medium] Suppose a sorted array is rotated at some pivot u ...
 
随机推荐
- github pages+hexo自建博客
			
1.github创建新项目,然后开启pages即可 2.全局安装hexo npm install -g hexo 3.初始化hexo hexo init 4.安装hexo的依赖 npm i 5.基本上 ...
 - Python 日期和时间 —— datetime
			
Python 日期和时间 —— datetime Python提供了多个内置模块用于操作日期时间,如calendar,time,datetime.calendar用于处理日历相关 :time提供的接口 ...
 - Integer判断相等,到底该用==还是equals
			
在项目中涉及到整数判断的时候一直都是使用"=="进行判断的,但是用的时候心里老是在犯嘀咕,是不是应该使用equals呀?今天来看下这个问题! 在Object类中,equals方法的 ...
 - Node.js:Stream(流)
			
Stream 是一个抽象接口,Node 中有很多对象实现了这个接口.例如,对http 服务器发起请求的request 对象就是一个 Stream,还有stdout(标准输出). Node.js,Str ...
 - 高性能WEB开发:DOM编程
			
我们知道,DOM是用于操作XML和HTML文档的应用程序接口,用脚本进行DOM操作的代价很昂贵.有个贴切的比喻,把DOM和Javascript(这里指ECMscript)各自想象为一个岛屿,它们之间用 ...
 - PHP的错误处理方式(开发和上线)
			
对于PHP开发人员来说,一旦某个产品投入使用.应该马上将 display_errors选项关闭.以免由于这些错误所透露的路径.数据库连接.数据表等信息而遭到黑客攻击. 可是.不论什么一个产品在投入使用 ...
 - [置顶] All about control file in Oracle Database
			
--数据库实例启动的三个阶段: NOMOUNT(START):打开初始化参数文件 MOUNT:打开控制文件 OPEN:打开数据文件和日志文件 --控制文件 控制文件的作用:管理数据库的状态和描述数据库 ...
 - (剑指Offer)面试题10:二进制中1的个数
			
题目: 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. 思路: 很明显,这道题考察的是位运算. 1.依次将整数右移,判断整数最后一位是否为1(&1): 问题:如果该整数为负数 ...
 - java梳理-一个汉字占多大空间
			
面试题:一个汉字占多大空间. 事实上这个问题我了解不深的,知道结论不知道为什么.借此梳理下认识. 先回想下java基本类型 一基本类型 :简称四类八种,声明变量的同一时候分配了空间.举比例如以下: ...
 - linux内核——会话、进程组、线程组
			
会话.进程组.线程组总体关系示意图 待插入 Session(会话)与进程组 Shell 分前后台来控制的不是进程而是作业(Job)或者进程组(Process Group).一个前台作业可以由多个进程组 ...