class Solution {
public:
vector> vec_vec_int;
vector> permuteUnique(vector& nums) {
sort(nums.begin(),nums.end());
backtrack(nums, 0);
return vec_vec_int;
}
void backtrack(vector nums, int level){
vector vec_int;
if(level == nums.size() - 1){
vec_vec_int.push_back(nums);
return;
}
for(int i = level; i < nums.size(); i++){
if(i != level && nums[i] == nums[level])
continue;
swap(nums[i], nums[level]);
backtrack(nums, level + 1);
}
}
};



