标签:
主要是判断每一层是否有重的,主要是要有分层的概念,理解分层的的思想后很多算法都好写了。
class Solution { private: vector<vector<int >>res; public: void dfs(vector<int>& nums,vector<int> temp,int index,int MaxDep) { res.push_back(temp); for(int i=index;i<MaxDep;i++) { if(i==index||(i>index&&nums[i]!=nums[i-1])) { temp.push_back(nums[i]); dfs(nums,temp,i+1,nums.size()); temp.pop_back(); } } return ; } vector<vector<int>> subsetsWithDup(vector<int>& nums) { sort(nums.begin(),nums.end()); res.clear(); vector<int> temp; dfs(nums,temp,0,nums.size()); return res; } };
标签:
原文地址:http://www.cnblogs.com/qiaozhoulin/p/4530955.html