zoukankan      html  css  js  c++  java
  • 排列组合算法

    public class Solution{
        public List<List<Integer>> permutations(int[] arr){
            List<List<Integer>> res = new ArrayList<List<Integer>>();
            //corner
            if ( arr == null || arr.length == 0 ){
                return res;
            }

            //core
            List<Integer> curList = new ArrayList<>();

            helper(res, curList, arr);

            return res;
        }


        public void helper(List<List<Integer>> res, List<Integer> curList, int[] arr){
            //base
            if ( curList.size() == arr.length ){
                res.add(new ArrayList<Integer>(curList));           
                return ;
            }

            //current
            for ( int i = 0; i < arr.length; i++ ){
                if ( curList.contains(arr[i]) ){
                    continue;
                }

                curList.add(arr[i]);

                //next
                helper(res, curList, arr);

                curList.remove(curList.size() - 1);                   
            }
        }
    }

  • 相关阅读:
    如何使用Apache设置404页面
    字符串函数积累
    isset() unset()
    set_exception_handler 自定义异常处理
    phpMailer中文说明[转]
    我的PHPMailer_v5.1 使用
    PHPMailer_v5.1 使用[转]
    PHP错误和异常处理
    几个 PHP 的“魔术常量”
    九宫格布局(demo16.03.14)
  • 原文地址:https://www.cnblogs.com/energy1010/p/6867799.html
Copyright © 2011-2022 走看看