-
題目描述:給你一個整數數組 nums,請你將該數組升序排列。
-
示例 1:
輸入:nums = [5,2,3,1]
輸出:[1,2,3,5] -
示例 2:
輸入:nums = [5,1,1,2,0,0]
輸出:[0,0,1,1,2,5] -
提示:
1 <= nums.length <= 50000
-50000 <= nums[i] <= 50000 -
我的題解:
class Solution {
public int[] sortArray(int[] nums) {
// Arrays.sort(nums);
quickSort(nums,0,nums.length - 1);
return nums;
}
// 複習一下快排。。。
private void quickSort(int[] nums, int low, int high) {
if(low >= high) {
return;
}
int i = low;
int j = high;
int tmp = nums[low];
while(i<j) {
while(i < j && nums[j] >= tmp) {
j--;
}
while(i < j && nums[i] <= tmp) {
i++;
}
if(i < j) {
int t = nums[i];
nums[i] = nums[j];
nums[j] = t;
}
}
nums[low] = nums[i];
nums[i] = tmp;
quickSort(nums,low,i-1);
quickSort(nums,i+1,high);
}
}
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/sort-an-array
著作權歸領釦網絡所有。商業轉載請聯繫官方授權,非商業轉載請註明出處。