#include <vector> class Solution { public: vector<vector<int>> ans; vector<int>nums; vector<int> t; vector<int> used; void arrange(int index){ if(index==nums.size()){ ans.push_back(t); return ; } for(int i=0;i<nums.size();i++){ if(used[i]==0){ used[i]=1; t.push_back(nums[i]); arrange(index+1); t.pop_back(); used[i]=0; } } } vector<vector<int> > permute(vector<int> &num) { this->nums=num; sort(nums.begin(),nums.end()); used.resize(6); arrange(0); return ans; } };