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 - 47. Permutations II(全排列)

47. Permutations II Given a collection of numbers that mightcontain duplicates, return all possible ...
  • laeen
  • laeen
  • 2017年06月29日 16:21
  • 146

Leetcode #47. Permutations II 全排列2 解题报告

1 解题思想这道题,就是第二个去全排列了,我昨天也预告过了,没看过的先看下上一题的解法: Leetcode # 46. Permutations 全排列 解题报告这道题有什么不一样的么?上一道题的...
  • MebiuW
  • MebiuW
  • 2016年04月18日 23:39
  • 382

Permutations I(II) 数组的全排列

题目 Given a collection of numbers, return all possible permutations. For example, [1,2,3] have the f...
  • Boyhou
  • Boyhou
  • 2013年07月18日 20:13
  • 863

求全排列,不重复(Permutations II)

题目:给定一个集合包含一些整数,整数有重复,求这个集合的所有排列,排列不能有重复。 分析: 有两种方法 1. 调用next_permutation函数,直到此函数返回fal...

***[Lintcode]Permutations II 带重复元素的排列 递归/非递归解法

Given a list of numbers with duplicate number in it. Find all unique permutations. Example For numb...

16.Permutations II-带重复元素的排列(中等题)

带重复元素的排列 题目给出一个具有重复数字的列表,找出列表所有不同的排列。 样例给出列表 [1,2,2],不同的排列有: 挑战使用递归和非递归分别完成该题。 题解 1.递归解法class Solu...

LeetCode 46. Permutations47. Permutations II&&131. Palindrome Partitioning(全排列问题)

LeetCode 46. Permutations Given a collection of distinct numbers, return all possible permutations...

含重复字符的字符串全排列算法(思路+分析)

从昨天到现在一直在回顾字符串的全排列算法,之前简单地复习了不含重复字符的字符串全排列,所以这次想彻底解决该算法。关于不含重复字符的字符串全排列比较简单,直接用递归思路解决即可,简单代码如下: tem...

递归解决输出一个字符串的全排列问题(缺陷:没有考虑字符串中字符重复的问题)

这个问题,或许对于别人来说很简单,但对于我来说还是挺难的,花了我两天时间,虽然我不是一直在做这个问题。废话不说,上代码,自己基本功还有待加强啊。#include "stdafx.h"#include ...
  • zc186v
  • zc186v
  • 2013年09月28日 22:13
  • 427
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Permutations II 字符全排列 去除重复的
举报原因:
原因补充:

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