diff --git a/problems/90.subsets-ii.md b/problems/90.subsets-ii.md index 9b3b58e04..9cec2e34e 100644 --- a/problems/90.subsets-ii.md +++ b/problems/90.subsets-ii.md @@ -46,6 +46,10 @@ Output: ## 代码 +* 语言支持:JS,C++ + +JavaScript Code: + ```js @@ -104,6 +108,30 @@ var subsetsWithDup = function(nums) { return list; }; ``` +C++ Code: + +```C++ +class Solution { +private: + void subsetsWithDup(vector& nums, size_t start, vector& tmp, vector>& res) { + res.push_back(tmp); + for (auto i = start; i < nums.size(); ++i) { + if (i > start && nums[i] == nums[i - 1]) continue; + tmp.push_back(nums[i]); + subsetsWithDup(nums, i + 1, tmp, res); + tmp.pop_back(); + } + } +public: + vector> subsetsWithDup(vector& nums) { + auto tmp = vector(); + auto res = vector>(); + sort(nums.begin(), nums.end()); + subsetsWithDup(nums, 0, tmp, res); + return res; + } +}; +``` ## 相关题目