Leetcode110: Subsets
来源:互联网 发布:wow70数据库 编辑:程序博客网 时间:2024/06/02 05:36
Given a set of distinct integers, nums, 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 nums = [1,2,3]
, a solution is:
[ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], []]
有一种动态规划的方法,还是比较通用的,个人比较推荐,复杂度O(2^n)。
思路就是subset(n) = join(subset(n-1), (subset(n-1), S[n]))
每考虑一个新的元素,就是把这个元素与之前得到的结果都结合一次,并进之前的结果,得出新的结果。
class Solution {public: vector<vector<int>> subsets(vector<int>& nums) { sort(nums.begin(), nums.end()); vector<vector<int>> res(1); for(auto it = nums.begin(); it != nums.end(); ++it) { int j = res.size(); while(j--) { res.push_back(res[j]); res.back().push_back(*it); } } return res; }};
0 0
- Leetcode110: Subsets
- Subsets
- Subsets
- Subsets
- Subsets
- Subsets
- Subsets
- Subsets
- Subsets
- Subsets
- Subsets
- Subsets
- Subsets
- Subsets
- Subsets
- Subsets
- Subsets
- Subsets
- Java语言基础之Java虚拟机的内存结构
- 压力测试基本概念
- 关于C# IEnumerator、yield、Unity3D协程的一些东西
- N个几点的二叉树有多少种形态
- iOS 调出细细的字体
- Leetcode110: Subsets
- ecplise新建项目push到git
- android 请求服务器,json解析
- Android 高清加载巨图方案 拒绝压缩图片
- 基本数据类型数据对象包装类 小结
- CSS制作横向菜单
- Cucumber java + Webdriver (2) 开始编写第一个Test
- MyBatis学习总结(一)——MyBatis快速入门
- Python学习笔记2