每日算法题:19.7.24

题目:

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

示例:

输入: [1,1,2]

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

代码:

public class Test16 {

    public List> permuteUnique(int[] nums) {
        List> result = new ArrayList<>();
        function(nums,result,0);
        return result;
    }

    public void function(int[]nums,List> result,int index){
        if (index==nums.length-1) {
            List temp = new ArrayList<>();
            for (int num : nums) {
                temp.add(num);
            }
            if (!result.contains(temp)) {
                result.add(temp);
            }
            return;
        }

        function(nums,result,index+1);

        for (int i = index+1; i 

 

你可能感兴趣的:(算法)