leetcode 47. 全排列 II

Posted wz-archer

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode 47. 全排列 II相关的知识,希望对你有一定的参考价值。

给定一个可包含重复数字的序列,返回所有不重复的全排列。

示例:

输入: [1,1,2]
输出:
[
[1,1,2],
[1,2,1],
[2,1,1]
]

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/permutations-ii

class Solution {
public:
    vector<vector<int>>s;
    int n;
    void f(vector<int>& a,int x){
        if(x==n)s.push_back(a);
        else{
            for(int i=x;i<n;i++){
                int o=0;
                for(int j=x;j<i;j++){
                    if(a[i]==a[j]){
                        o=1;
                        break;
                    }
                }
                if(o==0){
                    swap(a[x],a[i]);
                    f(a,x+1);
                    swap(a[x],a[i]);
                }

            }
        }
    }
    vector<vector<int>> permuteUnique(vector<int>& nums) {
        n=nums.size();
        f(nums,0);
        return s;
    }
};

 

以上是关于leetcode 47. 全排列 II的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode:全排列II47

LeetCode:46. 全排列47. 全排列 II

leetcode 47. 全排列 II

LeetCode 47 Permutations II(全排列)

LeetCode(47):全排列 II

leetcode 47. 全排列 II