47. Permutations II
来源:互联网 发布:mix软件 编辑:程序博客网 时间:2024/06/08 12:22
Given a collection of numbers that might contain duplicates, return all possible unique permutations.
For example, [1,1,2]
have the following unique permutations:
[ [1,1,2], [1,2,1], [2,1,1]]
这道题和46. Permutations唯一的区别是,这道题给出的数组可能有重复数字,因此要剔除答案中的重复元素。最简单的解决方法是用set来存储答案。
class Solution {public: vector<vector<int>> permuteUnique(vector<int>& nums) { set<vector<int>> ans; vector<int> out; vector<int> visited(nums.size(), 0); permuteUniqueDFS(ans, 0, nums, visited, out); return vector<vector<int>>(ans.begin(), ans.end()); } void permuteUniqueDFS(set<vector<int>>& ans, int level, vector<int>& nums, vector<int>& visited, vector<int>& out) { if (level == nums.size()) ans.insert(out); else { for (int i = 0; i < nums.size(); i++) { if (visited[i] == 0) { out.push_back(nums[i]); visited[i] = 1; permuteUniqueDFS(ans, level + 1, nums, visited, out); out.pop_back(); visited[i] = 0; } } } }};
阅读全文
0 0
- 46. Permutations && 47. Permutations II
- 46. Permutations, 47. Permutations II
- [LeetCode]47.Permutations II
- LeetCode 47.Permutations II
- LeetCode --- 47. Permutations II
- [Leetcode] 47. Permutations II
- [leetcode] 47.Permutations II
- 47.Permutations II
- 47. Permutations II
- LeetCode 47. Permutations II
- 47. Permutations II
- 47. Permutations II LeetCode
- 47. Permutations II
- 47. Permutations II
- 47. Permutations II
- 47. Permutations II
- Leetcode 47. Permutations II
- 47. Permutations II
- 2017.10.26第九周周中训练总结
- 3、java多线程--Thread的三个中断相关方法
- AJAJ.JSP
- Material-Animations(一)--Transitions between Activities
- ajaxcontroller
- 47. Permutations II
- OpenGL程序无法启动此应用程序,因为计算机中丢失glut32.dll
- 接口练习题
- 移动架构29_面向对象式手写数据库架构设计一(基本框架与插入数据)
- 逻辑回归(根据Andrew Ng 课程整理)
- oracle数据库sql语句05
- 数据结构之 单链表 模板类
- Azkaban实战案例
- Gerrit (Mac)