[leetcode] 78. Subsets
2017-08-12 00:14
447 查看
题目链接:
https://leetcode.com/problems/subsets/
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:
Solution:
从题目来看,传入一个数组,要求输出返回该数组元素的所有子集的集合。
在这里,从数学的角度分析,可以从一个元素出发,其将返回 [ ], [1]。
当元素增加到2时,其将返回 [ ], [1],[2],[1,2]。 其原有子集不变,额外增加的是原有子集上的分别加入新元素2。
同理三个元素的时候也满足以上规律。
那么相关代码如下所示。
class Solution {
public:
vector<vector<int>> subsets(vector<int>& nums) {
vector<vector<int>> res(1);
sort(nums.begin(), nums.end());
int i, j;
for (int i = 0; i < nums.size(); i++)
{
int size = res.size();
for (int j = 0; j < size; j++)
{
vector<int> tmp = res[j];
tmp.push_back(nums[i]);
res.push_back(tmp);
}
}
return res;
}
};
https://leetcode.com/problems/subsets/
Given a set of distinct integers, nums, return all possible subsets.
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], [] ]
Solution:
从题目来看,传入一个数组,要求输出返回该数组元素的所有子集的集合。
在这里,从数学的角度分析,可以从一个元素出发,其将返回 [ ], [1]。
当元素增加到2时,其将返回 [ ], [1],[2],[1,2]。 其原有子集不变,额外增加的是原有子集上的分别加入新元素2。
同理三个元素的时候也满足以上规律。
那么相关代码如下所示。
class Solution {
public:
vector<vector<int>> subsets(vector<int>& nums) {
vector<vector<int>> res(1);
sort(nums.begin(), nums.end());
int i, j;
for (int i = 0; i < nums.size(); i++)
{
int size = res.size();
for (int j = 0; j < size; j++)
{
vector<int> tmp = res[j];
tmp.push_back(nums[i]);
res.push_back(tmp);
}
}
return res;
}
};
相关文章推荐
- [LeetCode 78] Subsets
- [Leetcode] 78. Subsets
- <LeetCode OJ> 78 / 90 Subsets (I / II)
- 两种回溯方法解决子集问题的思路 leetcode 78. Subsets
- Leetcode 78. Subsets & 90. Subsets II
- Leetcode-78. Subsets
- LeetCode 78 Subsets
- [leetcode] 78.Subsets
- LeetCode 78. Subsets
- [leetcode 78] Subsets
- leetcode[78] Subsets
- LeetCode 78:Subsets
- leetcode 78. Subsets
- leetcode-78-subsets
- Leetcode 78 Subsets
- leetcode 78:Subsets
- leetcode_middle_58_78. Subsets
- [LeetCode]78 Subsets
- LeetCode 78 Subsets (DFS 或 状态压缩)
- Leetcode 78. Subsets