美文网首页
47.全排列II

47.全排列II

作者: HITZGD | 来源:发表于2018-11-02 20:52 被阅读0次

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

示例:****
输入: [1,1,2]
输出:
[
[1,1,2],
[1,2,1],
[2,1,1]
]

思路:
递归方法同46.全排列, 删除重复项的方法同40.组合总和II

#include <vector>
using namespace std;
class Solution {
private:
    void swap (vector<int>& nums, int begin, int end)
    {
        int temp = nums[begin];
        nums[begin] = nums[end];
        nums[end] = temp;
    }
    void findPermuteUnique(vector<int>& nums, vector<vector<int>>& result, int begin, int end)
    {
        if(begin == end)
        {
            vector<vector<int>>::iterator flag;
            flag = find(result.begin(), result.end(), nums);
            if (flag == result.end())
            {
                result.push_back(nums);
                return;
            }
        }

        for(int i = begin; i <= end; i ++)
        {
            swap(nums, i, begin);
            findPermuteUnique(nums, result, begin + 1, end);
            swap(nums, i, begin);
        }

    }
public:
    vector<vector<int>> permuteUnique(vector<int>& nums) {
        vector<vector<int>> result;
        vector<int> temp;
        int end = nums.size() - 1;
        findPermuteUnique(nums, result, 0, end);
        return result;
    }
};

int main(int argc, char* argv[])
{
    vector<int> test = {1, 1, 2};
    auto res = Solution().permuteUnique(test);
    return 0;
}

相关文章

  • 47. 全排列 II

    47. 全排列 II[https://leetcode.cn/problems/permutations-ii/]...

  • 47. 全排列 II、39. 组合总和、40. 组合总和 II

    回溯的题 47. 全排列 II[https://leetcode-cn.com/problems/permutat...

  • YC-常考的题目

    46. 全排列 47. 全排列 II 有条件的全排列,打印出[1,2,2,3,4,5]的所有4不在头并且3和5不挨...

  • 搜索(二)回溯

    一、题目总结 基础问题 46.全排列 77.组合 78.子集 39.组合求和 47.全排列 II(重复元素) 90...

  • 47.全排列II

    题目给定一个可包含重复数字的序列,返回所有不重复的全排列。 示例:****输入: [1,1,2]输出:[[1,1,...

  • 47. 全排列 II

    给定一个可包含重复数字的序列,返回所有不重复的全排列。 示例: 思路 python3解法 来源:力扣(LeetCo...

  • 47. 全排列ii

    1. 题目描述 给定一个可包含重复数字的序列,返回所有不重复的全排列。 2. 解题思路 计算一个map,统计各个元...

  • 47.全排列II

    自己解法 这题解法和全排列类似,只用对同层相同的分支进行剪枝,有点忘了在哪剪了,还是放在后面剪比较好理解,回溯完以...

  • 47. 全排列 II

    思路 排序,人为规定顺序去重。 深搜+回溯

  • 47. 全排列 II

    解法

网友评论

      本文标题:47.全排列II

      本文链接:https://www.haomeiwen.com/subject/fxqhxqtx.html