【算法】全排列

时间:2020-8-29 作者:admin


该死的入参,偏偏重要的时候与我作对

import java.math.BigInteger;
import java.util.Arrays;
import java.util.Scanner;

/**
 * @Author bennyrhys
 * @Date 2020-08-28 18:57
 * 23 4
 * 2 3 
 * 3 2 
 * 0
 */
public class T33 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int a = in.nextInt();
        int b = in.nextInt();


        char[] arr = String.valueOf(a).toCharArray();
        int[] newarr = new int[arr.length];
        for (int i = 0; i < arr.length; i++) {
            newarr[i] = (int)arr[i]-(int)'0';
        }

//        for (int i = 0; i < newarr.length; i++) {
//            System.out.print(newarr[i]+" ");
//        }

        

        // 全排列
        System.out.println(fullSort(newarr, 0, arr.length-1));

    }

    private static int fullSort(int[] arr, int l, int r) {
        int count = 0;
        if (l == r) {
            String s;
            for (int i : arr)
                System.out.print(i+" ");
            System.out.println();
        }
        for (int i = l; i <= r; i++) {
            swap(arr, i, l);
            fullSort(arr, l+1, r);
            swap(arr, l, i);
        }
        return count;
    }

    private static void swap(int[] arr, int l, int r) {
        int temp = arr[l];
        arr[l] = arr[r];
        arr[r] = temp;
    }
}

声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。