LEETCODE(C++): 47. 全排列 II

题目描述:

给定一个可包含重复数字的序列 nums按任意顺序 返回所有不重复的全排列。

解题思路:

简单递归就可以完成,用visit数组标记数字是否已添加,用set去除重复的排列。

class Solution {
public:
    vector> permuteUnique(vector& nums) {
        if(nums.size()==0) return vector>();
        visit.assign(nums.size(),0);
        help(nums);
        return vector>(ans.begin(),ans.end());
    }

    void help(vector& nums){
        if(res.size()==nums.size()){
            ans.insert(res);
            return;
        }
        for(int i=0;i res;
    vector visit;
    set> ans;
};

你可能感兴趣的:(leetcode(c++),leetcode,c++)