每日算法题:19.5.23

    xiaoxiao2022-07-13  148

    输入一个字符串,打印出该字符川中字符的所有排序

    public class Test3 { public static void main(String[] args) { String string = "abc"; char[] charArray = string.toCharArray(); sort(charArray, 0); } public static void sort(char[] charArray,int start){ if (start==charArray.length-1) { System.out.println(charArray); } for (int i = start; i < charArray.length; i++) { char exchange1 = charArray[start]; charArray[start] = charArray[i]; charArray[i] = exchange1; sort(charArray, start+1); char exchange2 = charArray[start]; charArray[start] = charArray[i]; charArray[i] = exchange2; } } }

     输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印出其中最小的一个

    public class Test4 { public static void main(String[] args) { int[] demo = {3,32,321}; List<Integer> list = new LinkedList<Integer>(); sort(demo, 0, list); int min = 999999; for (Integer integer : list) { if (integer<min) { min = integer; } } System.out.println(min); } public static void sort(int[] intArray,int start,List<Integer> list){ if (start>=intArray.length-1) { String string = ""; for (int i = 0; i < intArray.length; i++) { string = string+String.valueOf(intArray[i]); } Integer num = Integer.parseInt(string); list.add(num); return; } for (int i = start; i < intArray.length; i++) { int temp1 = intArray[start]; intArray[start] = intArray[i]; intArray[i] = temp1; sort(intArray, start+1, list); int temp2 = intArray[start]; intArray[start] = intArray[i]; intArray[i] = temp2; } } }

     

    最新回复(0)