LeetCode - 78 - Subsets(求数组全部子集)
2017-08-08 18:21
495 查看
Given a set of distinct integers, nums, return all possible subsets.
Note: The solution set must not contain duplicate subsets.
For example,
If nums =
is:
求一个数组的所有子集,dfs一遍
Note: 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], [] ]
求一个数组的所有子集,dfs一遍
class Solution { public: vector<vector<int>> subsets(vector<int>& nums) { vector<vector<int> > ans; if (nums.empty()) return ans; vector<bool> vis(nums.size(), false); dfs(nums, ans, vis, 0); return ans; } void dfs(vector<int> nums, vector<vector<int> >& ans, vector<bool>& vis, int loc) { if (loc == nums.size()) { vector<int> mie; for (int i = 0; i < nums.size(); ++i) { if (vis[i]) mie.push_back(nums[i]); } ans.push_back(mie); return; } dfs(nums, ans, vis, loc+1); vis[loc] = true; dfs(nums, ans, vis, loc+1); vis[loc] = false; return; } };
相关文章推荐
- 递归-数组的子集:leetcode 78 Subsets
- Leetcode 78 Subsets(打印全部子集)
- Leetcode:Subsets 求数组的所有子集(DFS)
- Leetcode:Subsets 求数组的所有子集
- LeetCode 78 Subsets (所有子集)
- 两种回溯方法解决子集问题的思路 leetcode 78. Subsets
- leetcode解题之 77. Combinations&78. Subsets&90. Subsets II java 版(求所有子集)
- leetcode78、90-Subsets I/II(组合数/子集数目)
- [LeetCode]—Subsets 求数组子集
- [Leetcode] subsets 求数组所有的子集
- Leetcode:Subsets 求数组的所有子集
- Leetcode 78. Subsets
- leetcode_78——Subsets(基于DFS的递归,基于同质的递推)
- LeetCode | Subsets II(带有重复数据的数组的子集)
- Subsets - LeetCode 78
- [LeetCode] 78. Subsets
- LeetCode 78. Subsets
- Leetcode 78 Subsets
- Leetcode 78 Subsets
- LeetCode: 78. Subsets