vaibhav1906

Permutations ii

Dec 23rd, 2021
1,235
1
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.09 KB | None | 1 0
  1. class Solution {
  2. public:
  3.    
  4.     void f(vector<int>& nums,vector<vector<int>> &ans,vector<int> &cur,vector<int> &visited, int n){
  5.        
  6.         if(cur.size()==n){
  7.             ans.push_back(cur);
  8.             return;
  9.         }
  10.        
  11.         for(int i=0; i<n; i++){
  12.             if(visited[i]==0){
  13.                
  14.                 if(i!=0 && nums[i]==nums[i-1] && visited[i-1]==0){
  15.                    
  16.                 }
  17.                
  18.                 else{
  19.                     cur.push_back(nums[i]);
  20.                     visited[i] = 1;
  21.                     f(nums,ans,cur,visited,n);
  22.                     visited[i] = 0;
  23.                     cur.pop_back();
  24.                 }
  25.                
  26.                
  27.             }
  28.         }
  29.        
  30.        
  31.     }
  32.    
  33.     vector<vector<int>> permuteUnique(vector<int>& nums) {
  34.         vector<vector<int>> ans;
  35.         vector<int> cur;
  36.         int n = nums.size();
  37.         vector<int> visited(n,0);
  38.         sort(nums.begin(), nums.end());
  39.         f(nums,ans,cur,visited,n);
  40.        
  41.        
  42.         return ans;
  43.        
  44.     }
  45. };
Advertisement
Add Comment
Please, Sign In to add comment