Permutations II 字符全排列 去除重复的

原创 2015年07月08日 14:05:20

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

Hide Tags
 Backtracking
class Solution {
public:
//先排序,以[1, 1, 2],第一个1处理过以后,第二个1就可以跳掉了。
    vector<vector<int>> permuteUnique(vector<int>& nums) {
        
        int n=nums.size();
        vector< vector<int> >res;
        vector< int > path;
        
        sort(nums.begin(),nums.end());
        solve(res,nums,path,0,n);
        
        return res;
    }
    
    void solve(vector< vector<int> > &res, vector<int> &nums,vector<int> &path, int index, int n)
    {
        if(index==n)
        {
            res.push_back(path);
            return ;
        }
        
        for(int i=index;i<n;i++)
        {
            if(i>index && nums[i]==nums[index])//相等 不考虑
                continue;
            else
                swap(nums[i],nums[index]);
                
            path.push_back(nums[index]);
            solve(res,nums,path,index+1,n);
            path.pop_back();
        }
        sort(nums.begin()+index,nums.end());
    }
};

LeetCode(46)Permutations

题目Given a collection of numbers, return all possible permutations.For example, [1,2,3] have the fol...
  • fly_yr
  • fly_yr
  • 2015年08月31日 20:07
  • 1965

46 - Permutations(全排列和递归)

Given a collection of distinct numbers, return all possible permutations. For example, [1,2,3] h...
  • hellochenlu
  • hellochenlu
  • 2016年03月03日 10:37
  • 521

一次搞懂全排列——LeetCode四道Permutations问题详解

LeetCode中与Permutations相关的共有四题:   31. Next Permutation   46. Permutations   47. Permutations II  ...
  • Jacky_chenjp
  • Jacky_chenjp
  • 2017年03月26日 17:52
  • 3808

含重复字符的字符串的全排列问题(Java)

本代码既可以输出重复和不重复字符串的全排列/** * 含重复字符的字符串的全排列问题 * @author ShaoGaoyuan * */ public class S_28 { pu...
  • baidu_22405691
  • baidu_22405691
  • 2016年05月05日 18:44
  • 1432

Leetcode:Permutations 数组的全排列

Leetcode刷题刷到了Permutation,自己写了一下数组全排列的算法。
  • u012118523
  • u012118523
  • 2014年04月14日 10:07
  • 1652

[leetcode]47. Permutations II,python实现

题目: Given a collection of numbers that might contain duplicates, return all possible unique permut...
  • zl87758539
  • zl87758539
  • 2016年06月16日 16:24
  • 672

Permutations II -- LeetCode

原题链接: http://oj.leetcode.com/problems/permutations-ii/  这个题跟Permutations非常类似,唯一的区别就是在这个题目中元素集合可以出现重...
  • linhuanmars
  • linhuanmars
  • 2014年03月20日 01:04
  • 14440

LeetCode:Permutations(全排列算法的递归与非递归实现)

全排列算法的递归与非递归实现全排列算法是常见的算法,用于求一个序列的全排列,本文使用C语言分别用递归与非递归两种方法实现,可以接受元素各不相同的输入序列。题目来自leetcode: Given a...
  • hanchaoqi
  • hanchaoqi
  • 2015年03月11日 17:25
  • 1847

47. Permutations II | Java最短代码实现

原题链接:47. Permutations II 【思路】 本题考查的是回溯算法。与 46. Permutations 不同的是本题数组中的元素可能重复。为此增加了一个记录数组visit。重点在于...
  • happyaaaaaaaaaaa
  • happyaaaaaaaaaaa
  • 2016年03月20日 21:15
  • 612

python 全排列combinations和permutations函数

结果为: 显然,combinations方法重点在组合,permutations方法重在排列。 还有就是,combinations和permutations返回的是对象地址,原因是在python3里...
  • mishi_zcf
  • mishi_zcf
  • 2016年09月07日 01:44
  • 6001
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Permutations II 字符全排列 去除重复的
举报原因:
原因补充:

(最多只允许输入30个字)