Loading

备忘——非重复元素全排列

关于不包含重复数字的全排列的备忘


利用回溯和交换让每个数字都可以放在每个位置上,符合全排列的定义。

public static void perm(int[] array,int start,int end){
    if(start == end){
        System.out.println(Arrays.toString(array));
     }else{
        for(int i = start;i <= end;i++){
            swap(array,start,i);
            perm(array,start + 1,end);
            swap(array,start,i);//回溯
        }
    }
}

public static void swap(int[] array,int i,int j){
    int temp = array[i];
    array[i] = array[j];
    array[j] = temp;
}
posted @ 2020-10-19 15:17  Icdd  阅读(77)  评论(0)    收藏  举报