LeetCode 47 - Permutations II
2016-03-04 18:32
411 查看
Permutations II
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],
and
[2,1,1].
My Code
class Solution {public:
void doPermute(vector<vector<int> >& res, vector<int> r, vector<int> v)
{
int size = v.size();
if (size == 1)
{
r.push_back(v[0]);
res.push_back(r);
return;
}
unordered_set<int> s;
for (int i = 0; i < size; i++)
{
if (s.find(v[i]) != s.end())
continue;
else
s.insert(v[i]);
vector<int> rr(r);
vector<int> vv(v);
rr.push_back(v[i]);
vv.erase(vv.begin() + i);
doPermute(res, rr, vv);
}
}
vector<vector<int> > permuteUnique(vector<int>& nums) {
vector<vector<int> > res;
vector<int> r;
vector<int> v(nums);
doPermute(res, r, v);
return res;
}
};Runtime: 48 ms
相关文章推荐
- CodeForces 631C Report
- find:paths must precede expression问题及解决
- 使用vi编辑器遇到的问题
- JNI调用native方法出现 java.lang.UnsatisfiedLinkError: XXXclass.XXXmethod()异常的解决办法
- NS_ENUM vs. NS_OPTIONS
- 模板页显示Excel数据Gridview增删改查
- Epic Games创始人眼中的虚拟现实
- 最强大脑与最强团队
- C#中,带关键字的按页获取查询,这是部份代码,但可以看出大概实现方式
- 【VS开发】内存映射文件进程间共享内存
- ONOS安装和运行
- 新型PID控制及其应用(二)
- 文章标题
- 重学备忘
- 关于xib布局,不写死centerY,根据屏幕比例进行适应
- 【安卓基础四】adb命令使用Heap检测和分析Android应用内存
- Android开发中的View类的视图属性focusableInTouchMode这个属性跟focusable有什么区别?
- Java自动装箱与拆箱
- 二分图判断(交叉染色)
- ViewGroup的事件分发机制