Leetcode--Permutations II
2014-10-13 11:23
295 查看
Given a collection of numbers that might contain duplicates, return all possible unique permutations.
For example,
and
思路:在Permutations的解法上,处理重复问题。
For example,
[1,1,2]have the following unique permutations:
[1,1,2],
[1,2,1],
and
[2,1,1].
思路:在Permutations的解法上,处理重复问题。
class Solution { public: set<vector<int>> res; void swap(int *a,int *b) { int temp=*a; *a=*b; *b=temp; } void function(vector<int>&num,int i) { if(i==num.size()-1) { res.insert(num); } else{ for(int j=i;j<num.size();j++) { if(j==i) function(num,i+1); else if(j>i&&num[j]!=num[i]){ swap(&num[i],&num[j]); function(num,i+1); swap(&num[i],&num[j]); } } } } vector<vector<int> > permuteUnique(vector<int> &num) { if(num.size()>0) function(num,0); vector<vector<int>> result(res.begin(),res.end()); return result; } };
相关文章推荐
- Leetcode: Permutations II
- LeetCode(Permutations II)
- LeetCode: Permutations II
- 【LeetCode】Permutations II 解题报告
- 【LeetCode】Permutations II
- LeetCode|Permutations II
- LeetCode 47 Permutations II(全排列)
- Leetcode: Permutations II 理解分析
- leetcode 日经贴,Cpp code -Permutations II
- leetcode - 47. Permutations II(全排列)
- Permutations II - Leetcode
- LeetCode 47.Permutations II
- 【leetcode】 Permutations II
- LeetCode 106 Permutations II
- [LeetCode] Permutations II
- LeetCode(47)Permutations II
- LeetCode-Permutations II
- LeetCode 47. Permutations II
- leetcode---Permutations II
- LeetCode 46 Permutations II