LeetCode 47 全排列 II

LeetCode 47 全排列 II

题目链接

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

示例:

输入:

[1,1,2]

输出:

[
  [1,1,2],
  [1,2,1],
  [2,1,1]
]

直接用 next_permutation 函数即可,注意有重复元素所以要判重,AC代码如下:

class Solution {
    
    
public:
    vector<vector<int>> permuteUnique(vector<int>& nums) {
    
    
        map<vector<int>,int>m;
        vector<vector<int>>ans;
        sort(nums.begin(),nums.end());
        do{
    
    
            if(m[nums]==0){
    
    
                ans.push_back(nums);
            }
        }while(next_permutation(nums.begin(),nums.begin()+nums.size()));
        return ans;
    }
};

猜你喜欢

转载自blog.csdn.net/qq_43765333/article/details/108667275