leetcode刷题题解——912. 排序数组

排序数组

自己实现

思路

手写快排

Java

class Solution {
    int[] array;
    public int[] sortArray(int[] nums) {
        this.array = nums;
        quickSort(0,nums.length-1);
        return nums;
    }

    void quickSort(int l,int r){
        if (l<r){
            int mid = partition(l,r);
            quickSort(l,mid-1);
            quickSort(mid+1,r);
        }
    }
    
    int partition(int l,int r){
        int temp = array[l];
        while (l<r){
            while (l<r&&array[r]>=temp) r--;
            array[l] = array[r];
            while (l<r&&array[l]<=temp) l++;
            array[r] = array[l];
        }
        array[l] = temp;
        return l;
    }
}

调库

直接调用封装好的函数库

class Solution {
    public int[] sortArray(int[] nums) {
        Arrays.sort(nums);
        return nums;
    }
}

你可能感兴趣的:(LeetCode刷题汇总,算法,leetcode,二分查找)