• Java for LeetCode 046 Permutations


    Given a collection of numbers, return all possible permutations.

    For example,
    [1,2,3] have the following permutations:
    [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], and [3,2,1].

    解题思路:

    本题解题方法多多,为防止重复,决定使用Set的dfs算法,JVVA实现如下:

    static public List<List<Integer>> permute(int[] nums) {
            Set<List<Integer>> set=new HashSet<List<Integer>>();
            dfs(set,nums,0);
            return new ArrayList<List<Integer>>(set);
        }
        static List<Integer> list=new ArrayList<Integer>();
        static public void dfs(Set<List<Integer>> set,int[] nums,int depth){
        	if(depth==nums.length){
        		set.add(new ArrayList<Integer>(list));
        		return;
        	}
        	for(int i=0;i<=depth;i++){
        		list.add(i,nums[depth]);
        		dfs(set,nums,depth+1);
        		list.remove(i);
        	}
        }
    
  • 相关阅读:
    杀人蜂
    awk
    ggplot2
    非模式物种的注释
    org注释包
    NCB之taxonomy系列
    NCBI之gene系列
    notepad++查看二进制文件
    orthodb
    canu软件文献
  • 原文地址:https://www.cnblogs.com/tonyluis/p/4504275.html
Copyright © 2020-2023  润新知