class Solution { public: vector<vector<int> > permuteUnique(vector<int> &num) { set<vector<int> > result(getPermute(num)); vector<vector<int> > ret(result.begin(), result.end()); return ret; } set<vector<int> > getPermute(vector<int>& num) { set<vector<int> > result; if(num.size() == 1) { result.insert(num); } else if(num.size() > 1) { vector<int> temp(num.begin(), num.end() - 1); int extra = num[num.size() - 1]; auto ret = getPermute(temp); for(auto item : ret) { for(int i = 0; i < item.size() + 1; ++i) { vector<int> cp(item); cp.insert(cp.begin() + i,extra); result.insert(cp); } } } return result; } };
4/08/2014
Leetcode -- Permutations II
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment