java快排,2个MLE,求解
查看原帖
java快排,2个MLE,求解
1009031
hhhhp楼主2023/10/12 23:45
import java.util.Scanner;


public class Main {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int n = scanner.nextInt();
		int m = scanner.nextInt();
		int arr [] = new int [m];
		for (int i = 0; i < m; i++) {
			arr[i] = scanner.nextInt();
		}
		quickSort(arr,0,arr.length-1);
		for (int j = 0; j < arr.length; j++) {
			System.out.printf("%d ",arr[j]);
		}

    }
    public static void quickSort(int arr[],int low,int hight){
        int key;
        if(low > hight){
            return;
        }
        key = arr[low];
        int left = low;
        int right = hight;
        while (left < right){
            while (key <= arr[right] && left < right){
                right--;
            }
            while (key >= arr[left] && left < right){
                left++;
            }
            int temp = arr[left];
            arr[left] = arr[right];
            arr[right] = temp;
        }
        arr[low] = arr[left];
        arr[left] = key;
        quickSort(arr , low , right-1);
        quickSort(arr , right+1 , hight);

    }

}
2023/10/12 23:45
加载中...