美文网首页
全排列 包含重复元素和不包括重复元素

全排列 包含重复元素和不包括重复元素

作者: 啊磊11 | 来源:发表于2021-03-16 22:49 被阅读0次

全排列不包含重复元素

public  LinkedList res = new LinkedList();

    public List<List<Integer>> permute(int[] nums) {

       LinkedList path = new LinkedList();

        back(nums,new boolean[nums.length],path);

        return res;

    }

    public  void back(int[]  nums,boolean[] check,LinkedList path){

        if(path.size() == nums.length){

            res.add(new LinkedList(path));

            return;

        }

        for(int i=0;i<nums.length;i++){

            if (check[i]){

                continue;

            }

            path.add(nums[i]);

            check[i] = true;

            back(nums,check,path);

            path.removeLast();

            check[i] = false;

        }

    }

全排列 包含重复元素

 public ArrayList result = new ArrayList();

    public List<List<Integer>> permuteUnique(int[] nums) {

        Arrays.sort(nums);

        backtrace(nums,new boolean[nums.length],new ArrayList());

        return result;

    }

    public void backtrace(int[] nums ,boolean[] check, ArrayList path){

        if(path.size() == nums.length){

            result.add(new ArrayList(path));

            return;

        }

        for(int i = 0;i<nums.length;i++){

            if (check[i]){

                continue;

            }

            if(i>0 && nums[i] == nums[i-1] && check[i-1]){

                continue;

            }

            path.add(nums[i]);

            check[i] = true;

            backtrace(nums,check,path);

            path.remove(path.size() -1);

            check[i] = false;

        }

    }

相关文章

  • 全排列 包含重复元素和不包括重复元素

    全排列不包含重复元素 publicLinkedListres=newLinkedList(); publicLis...

  • 全排列

    递归不支持字典序,只支持全排列 1. 不含重复元素的全排列 2. 含重复元素 非递归处理 支持处理重复元素(不包含...

  • 子集、全排列、第k个排列

    子集输出 全排列输出 存在重复数字的全排列 给出集合 [1,2,3,…,n],其所有元素共有 n! 种排列。 按大...

  • 排列类算法问题大总结

    全排列 带重复元素的排列 下一个排列 上一个排列 第 k 个排列 排列序号 排列序号II 全排列 给定一个数字列表...

  • Java集合

    List,Queue存储的元素是排列有序的,并且可以重复的,Set中的元素是无序并且不可重复的; List和Set...

  • 搜索(二)回溯

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

  • 剑指 Offer II 083 没有重复元素集合的全排列

    剑指 Offer II 083. 没有重复元素集合的全排列[https://leetcode-cn.com/pro...

  • 47. Permutations II 全排列 II

    题目 给定一个数组 nums,可能包含重复元素,返回所有可能的排列组合,不要重复。 解析 根据前一个递归,我们可以...

  • 排列组合递归版优化

    带重复元素的全排列的递归实现 在编程实现时,在交换第i个元素与第j个元素之前,要求数组的区间中的元素没有与第j个元...

  • java容器总结Set

    Set总结 首先一个Set不包括重复元素(包括可变对象)的Collection,是一种无序的集合。Set不包含满 ...

网友评论

      本文标题:全排列 包含重复元素和不包括重复元素

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