一:论语
巧言令色 鲜诶仁(要远离生活中那些只会说好听话的人 因为他们很少有仁心 其实也对 毁掉一个人的最好方式 是捧杀 夸你的别信 骂你的别听)
二:题目
三:上码
class Solution {
public:
/**
思路:这里我们需要注意的是 不能出现重复的 那么有两种都是去重的限制 其中 设置index 是可以去重的
还有一种去重的方式是先将nums 中的数字先排序 然后在回溯的时候 横向遍历的时候遇见 相同的元素
直接跳过,这样可以去重
*/
vector<vector<int> >ans;
vector<int>path;
void backstacking(vector<int>& nums,int index) {
ans.push_back(path);
if(path.size() >= nums.size()){//到达叶节点的时候 就可以截止
return ;
}
for(int i = index; i < nums.size(); i++) {
if(i > index && nums[i-1] == nums[i]) {//当出现相同的元素的时候 就直接体哦爱国
continue;
}
path.push_back(nums[i]);
backstacking(nums,i+1);
path.pop_back();
}
}
vector<vector<int>> subsetsWithDup(vector<int>& nums) {
sort(nums.begin(),nums.end());
backstacking(nums,0);
return ans;
}
};