[Leetcode] Permutations II
2012-12-15 10:22
344 查看
class Solution { private: vector<vector<int> > res; map<vector<int>, int> mp; public: vector<vector<int> > permuteUnique(vector<int> &num) { // Start typing your C/C++ solution below // DO NOT write int main() function res.clear(); mp.clear(); permute(num, 0, num.size()); return res; } void permute(vector<int> buf, int idx, int num) { if (idx == num) { if (mp.find(buf) == mp.end()) { res.push_back(buf); mp[buf] = 1; } } for (int i = idx; i < num; ++i) { swap(buf[idx], buf[i]); permute(buf, idx + 1, num); swap(buf[idx], buf[i]); } } void swap(int& a, int& b) { if (a == b) return; a = a ^ b; b = a ^ b; a = a ^ b; } };
相关文章推荐
- leetcode之Permutations II
- LeetCode --- 47. Permutations II
- leetcode47. Permutations II
- leetcode_middle_93_47. Permutations II
- [LeetCode]47 Permutations II
- LeetCode-- Permutations II
- [LeetCode] Permutations II
- 【leetcode】Permutations II
- Leetcode:Permutations II
- LeetCode 047 Permutations II
- leetcode-47. Permutations II
- leetcode 047 Permutations II
- leetcode:Permutations II
- [Leetcode] Permutations II
- leetcode - Permutations II
- Leetcode 46/47 Permutations, Permutations II
- Permutations II -- leetcode
- leetcode || 47、 Permutations II
- [LeetCode] Permutations II 排列
- LeetCode | Permutations II