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]
]

```class Solution {
public:
vector<vector<int>> permuteUnique(vector<int>& nums) {
vector<vector<int>> result;
sort(nums.begin(),nums.end());
permuteRec( 0, nums, result);
return result;
}

private:
void permuteRec( int start, vector<int> nums, vector<vector<int>> &result ){
if( start >= nums.size()){
result.push_back(nums);
return;
}
for( int i = start; i < nums.size(); i++ ){
if( i > start && nums[i] == nums[start]) continue;
swap( nums[start], nums[i] );
permuteRec( start+1, nums, result);
}
}
};
```

## LeetCode 【47. Permutations II】的更多相关文章

1. [Leetcode][Python]47: Permutations II

# -*- coding: utf8 -*-'''__author__ = 'dabay.wang@gmail.com' 47: Permutations IIhttps://oj.leetcode. ...

2. LeetCode OJ 47. Permutations II

题目 Given a collection of numbers that might contain duplicates, return all possible unique permutati ...

3. leetcode 【 Unique Paths II 】 python 实现

题目: Follow up for "Unique Paths": Now consider if some obstacles are added to the grids. H ...

4. 【LeetCode】47. Permutations II

Permutations II Given a collection of numbers that might contain duplicates, return all possible uni ...

5. leetCode 47.Permutations II (排列组合II) 解题思路和方法

Permutations II  Given a collection of numbers that might contain duplicates, return all possible un ...

6. leetcode46. Permutations 、47. Permutations II、 剑指offer字符串的排列

字符串排列和PermutationsII差不多 Permutations第一种解法: 这种方法从0开始遍历,通过visited来存储是否被访问到,level代表每次已经存储了多少个数字 class S ...

7. 【一天一道LeetCode】#47. Permutations II

一天一道LeetCode系列 (一)题目 Given a collection of numbers that might contain duplicates, return all possibl ...

8. [leetcode] 47. Permutations II

Given a collection of numbers that might contain duplicates, return all possible unique permutations ...

9. LeetCode 【46. Permutations】

Given a collection of distinct numbers, return all possible permutations. For example,[1,2,3] have t ...

## 随机推荐

1. Strus2学习Exception处理集锦（一）

2015-01-05 同学用dom4j写的一个更改节点文本的方法爆出这样一个错误: 代码: for(Iterator itr=root.elementIterator();itr.hasNext(); ...

2. Linux学习之路&mdash;Linux文件权限

内容来源于鸟哥私房菜 1.Linux文件属性 1)第一列为文件类型与权限 第一个字符表示文件的类型: [d]表示目录 [-]表示文件 [l]表示连接文件 [b]表示设备文件中可供存储的接口设备,例如硬 ...

3. 颜色空间变换（RGB-HSV）

#!/usr/bin/env python #***************************************************************************** ...

4. datatable转json

//将datatable转化为json public string DataTableToJSON(DataTable dt) { JavaScriptSerializer jss = new Jav ...

5. photoSlider-html5原生js移动开发轮播图-相册滑动插件

简单的移动端图片滑动切换浏览插件 分别引用css文件和js文件 如: <link rel="stylesheet" type="text/css" hre ...

6. node.js入门（三）调式

1.安装调式工具 打开命令行工具,输入以下内容,然后回车. npm install -g node-inspector 等待安装成功呢后,我们就可以使用 node-debug 文件名 这个命令来调式我 ...

7. 为啥使用Iscroll.js之后，a不能触发点击事件？

原因:是iscroll.js阻止了a的行为. 解决方法:打开iscroll-probe.js,然后找到preventDefaultException方法. 然后修改为: // preventDefau ...

8. 用户 &#39;IIS APPPOOL\.NET v4.5 Classic&#39; 登录失败。

我在win8.1系统下用vs2013+SqlServer08编写完项目后,挪到另一台win8.1系统(安装了Vs2010+SqlServer08)中,把网址挂到IIs中时,出现如下错误 : 解决方案: ...

9. Python-初识算法-51

# 什么叫算法# 计算的方法 : 人脑复杂 计算机简单 # 99 * 13 = 1287 = 13*100 - 13# 查找 : 找数据# 排序 :# 最短路径 # 我们学习的算法 都是过去时# 了解 ...

10. Git本地仓库push至GitHub远程仓库每次输入账户密码问题解决（亲测可行）

在使用git push命令将本地仓库内容推送至GitHub远程仓库的每一次git都要让我们输入GitHub的用户名和密码.这着实让我们心烦.我们会有疑问,我明明设置了公钥呀!怎么还需要输入账户和密码? ...