LeetCode 46 全排列

深入理解数据库原理
以实战为基础,以数据库原理为基础,结合实战,深入理解数据库原理。
wangxiaoming

LeetCode 46 全排列

AC 通过

public class LeetCode46 {
    public List<List<Integer>> permute(int[] nums) {
        List<List<Integer>> result = new ArrayList<List<Integer>>();
        List<Integer> list = new ArrayList<Integer>();
        int start = 0;
        int len = nums.length;
        int[] marked = new int[len];
        perputation(nums,start,result,len,marked,list);
        return result;
    }

    /**
     * @param nums
     * @param start 
     * @param list
     * @param result
     * @param len 
     * @param list 
     * @param marked 
     */
    private void perputation(int[] nums, int start,List<List<Integer>> result, int len, int[] marked, List<Integer> list) {
       if(start == len){
           result.add(new ArrayList<Integer>(list));
           return;
       }
       for(int i = 0; i < len;i++){
           if(marked[i] == 0){
               list.add(nums[i]);
               marked[i] = 1;
               perputation(nums, start+1, result, len, marked, list);
               list.remove(list.size()-1);
               marked[i] = 0;
           }
       }
    }

    /**
     * @param args
     */
    public static void main(String[] args) {
        int[] nums= new int[]{1,2,3};
        List<List<Integer>> result = new LeetCode46().permute(nums);
        for(int i = 0; i < result.size(); i++){
            List<Integer> list = result.get(i);
            for(int k = 0; k < list.size(); k++){
                System.out.print(list.get(k)+" ");
            }
            System.out.println();
        }

    }

}

wangxiaoming CSDN认证博客专家 架构 Spring Boot Redis
博客是很好的总结和记录工具,如果有问题,来不及回复,关注微信公众号:程序员开发者社区,获取我的联系方式,向我提问,也可以给我发送邮件,联系 1275801617@qq.com
©️2020 CSDN 皮肤主题: Age of Ai 设计师: meimeiellie 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值