美文网首页
排列组合

排列组合

作者: 哲哲哥 | 来源:发表于2017-11-01 21:08 被阅读0次
    import java.util.LinkedList;
    import java.util.List;
    public class Solution {
        public static List<List<Integer>> ans=new LinkedList<List<Integer>>();
        public static boolean[] v=new boolean[100];
        public static LinkedList<Integer> list=new LinkedList<Integer>();
        public static void robot(int index,int[] nums){
            if (index>=nums.length) {
                System.out.println(list);
                List<Integer> list2=new LinkedList<Integer>();
                for (Integer i : list) {
                    list2.add(i);
                }
                ans.add(list2);
                return;
            }
            for(int i=0;i<nums.length;i++){
                if (v[i]==false) {
                    v[i]=true;
                    list.add(nums[i]);
                    robot(index+1, nums);
                    list.pollLast();
                    v[i]=false;
                }
            }
        }
        
        public static void main(String[] args) {
            int []arr={1,2,3};
            robot(0, arr);
            System.out.println(ans);
        }
    
    }
    
    import java.util.LinkedList;
    import java.util.List;
    
    public class Solution2 {
        public static List<List<Integer>> ans = new LinkedList<List<Integer>>();
        public static LinkedList<Integer> list = new LinkedList<Integer>();
    
        public static void robot(int index, int[] nums,int k) {
            if (k==0) {
                System.out.println(list);
                List<Integer> list2 = new LinkedList<Integer>();
                for (Integer i : list) {
                    list2.add(i);
                }
                ans.add(list2);
                return;
            }
            for (int i = index+1; i < nums.length; i++) {
                list.add(nums[i]);
                robot(i, nums, k-1);
                list.pollLast();
            }
        }
    
        public static void main(String[] args) {
            int []arr={1,2,3,0};
            robot(-1, arr,2);
            System.out.println(ans);
        }
    
    }
    
    

    相关文章

      网友评论

          本文标题:排列组合

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