leetcode-----90. 子集 II
Posted 景云
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode-----90. 子集 II相关的知识,希望对你有一定的参考价值。
代码
class Solution {
public:
vector<vector<int>> ans;
vector<int> path;
vector<vector<int>> subsetsWithDup(vector<int>& nums) {
sort(nums.begin(), nums.end());
dfs(nums, 0);
return ans;
}
void dfs(vector<int>& nums, int u) {
if (u == nums.size()) {
ans.push_back(path);
return;
}
int k = u + 1;
while (k < nums.size() && nums[k] == nums[u]) k++;
for (int i = 0; i <= k - u; ++i) {
dfs(nums, k);
path.push_back(nums[u]);
}
for (int i = 0; i <= k - u; ++i) path.pop_back();
}
};
以上是关于leetcode-----90. 子集 II的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode 90. 子集 II(Subsets II)