【Leetcode】【Medium】Subsets
Given a set of distinct integers, S, return all possible subsets.
Note:
- Elements in a subset must be in non-descending order.
- The solution set must not contain duplicate subsets.
For example,
If S = [1,2,3], a solution is:
[
[3],
[1],
[2],
[1,2,3],
[1,3],
[2,3],
[1,2],
[]
]
解题思路:
题目要求返回值要从大到小排列,因此先对序列S排序o(nlogn);
假设S为abcd...,然后遍历S中每个数,
对a,返回集合[ [ ], [a] ]
对b,返回集合{ [ ], [a], [b], [a, b] }
由此看出,每出现一个新值,就是保存返回集合中原有数组不变,并在每个原有数组后加上新值,组合成新数组,添加到返回集合的后面;
代码:
 class Solution {
 public:
     vector<vector<int> > subsets(vector<int> &S) {
         sort(S.begin(), S.end());
         vector<vector<int> > ret;
         ret.push_back(vector<int> ());
         for (int i = ; i < S.size(); ++i) {
             int pre_size = ret.size();
             for (int j = ; j < pre_size; ++j) {
                 vector<int> new_item(ret[j]);
                 new_item.push_back(S[i]);
                 ret.push_back(new_item);
             }
         }
         return ret;
     }
 };
附录:
C++ vector 浅复制、深复制
【Leetcode】【Medium】Subsets的更多相关文章
- 【LeetCode题意分析&解答】40. Combination Sum II
		Given a collection of candidate numbers (C) and a target number (T), find all unique combinations in ... 
- 【LeetCode题意分析&解答】37. Sudoku Solver
		Write a program to solve a Sudoku puzzle by filling the empty cells. Empty cells are indicated by th ... 
- 【LeetCode题意分析&解答】35. Search Insert Position
		Given a sorted array and a target value, return the index if the target is found. If not, return the ... 
- ACM金牌选手整理的【LeetCode刷题顺序】
		算法和数据结构知识点图 首先,了解算法和数据结构有哪些知识点,在后面的学习中有 大局观,对学习和刷题十分有帮助. 下面是我花了一天时间花的算法和数据结构的知识结构,大家可以看看. 后面是为大家 精心挑 ... 
- 【leetcode刷题笔记】Subsets II
		Given a collection of integers that might contain duplicates, S, return all possible subsets. Note: ... 
- 【leetcode刷题笔记】Subsets
		Given a set of distinct integers, S, return all possible subsets. Note: Elements in a subset must be ... 
- 【LeetCode算法题库】Day7:Remove Nth Node From End of List & Valid Parentheses & Merge Two Lists
		[Q19] Given a linked list, remove the n-th node from the end of list and return its head. Example: G ... 
- 【LeetCode算法题库】Day4:Regular Expression Matching & Container With Most Water & Integer to Roman
		[Q10] Given an input string (s) and a pattern (p), implement regular expression matching with suppor ... 
- 【LeetCode算法题库】Day3:Reverse Integer & String to Integer (atoi) & Palindrome Number
		[Q7] 把数倒过来 Given a 32-bit signed integer, reverse digits of an integer. Example 1: Input: 123 Outpu ... 
- 【LeetCode算法题库】Day1:TwoSums & Add Two Numbers & Longest Substring Without Repeating Characters
		[Q1] Given an array of integers, return indices of the two numbers such that they add up to a specif ... 
随机推荐
- CentOS系统服务配置资源限制ulimit
			使用Systemd管理服务的,均可使用此方法. 在 /usr/lib/systemd/system/xxx.service中,添加如下内容即可: [Service] # Other directive ... 
- Jquery ajax, Axios, Fetch区别
			1. Jquery ajax, Axios, Fetch区别之我见 2. ajax.axios.fetch之间的详细区别以及优缺点 
- nginx常用配置2
			## 一.Nginx中虚拟主机配置 ### 1.基于域名的虚拟主机配置 1.修改宿主机的hosts文件(系统盘/windows/system32/driver/etc/HOSTS)  linux : ... 
- java中Map转化为bean
			Map 集合类用于存储元素对(称作“键”和“值”),其中每个键映射到一个值,在java编程中会经常用到.但是当我们进行业务逻辑的处理或着操作数据库时,往往应用的是我们自己定义的的Bean或VO来传递和 ... 
- 关于chart不能自行切换出现的报错现象
			1.echart 页面菜单不能切换,line和bar不能自行切换 页面上报错误 bar has not been reqired 解决办法,加载bar <script type=" ... 
- Django查询一个权限中包含哪些用户
			Django查询一个权限中包含哪些用户 Django的Permission对象中没有直接查询相关用户的信息,而都是通过User对象来查询某个用户有哪些权限,例如: user.objects.get(u ... 
- Java代码在本地运行没有问题。上传到阿里云服务器后。出现了中文乱码解决
			java -Dfile.encoding=UTF-8 -jar project.jar 
- android studio应用获取系统属性权限(SystemProperties)
			dependencies { provided files(getLayoutLibPath()) } /** ZhangChao time:2014-12-31,get layoutlib.jar ... 
- 架构实战项目心得(六)(补):mongodb.conf参数详解
			--dbpath 数据库路径(数据文件)--logpath 日志文件路径--master 指定为主机器--slave 指定为从机器--source 指定主机器的IP地址--pologSize 指定日志 ... 
- deblurGAN
			-- main.py -- util.py -- data_loader.py -- mode.py -- DeblurGAN.py -- vgg19.py -- layer.py -- vgg19. ... 
