912. 排序数组
难度中等605收藏分享切换为英文接收动态反馈
给你一个整数数组 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 <= 5 * 104
-5 * 104 <= nums[i] <= 5 * 104
class Solution {
public int[] sortArray(int[] nums) {
//直接调用函数
// Arrays.sort(nums);
// return nums;
//或者快速排序
quickSort(nums,0,nums.length-1);
return nums;
}
public void quickSort(int[] nums,int start,int end){
if(start > end){
return;
}
int s = start,e = end;
int temp = nums[start];
while(s < e){
while(s < e && nums[e] >=temp){
e --;
}
while(s < e && nums[s] <= temp){
s ++;
}
if(s < e){
int a = nums[s];
nums[s] = nums[e];
nums[e] = a;
}
}
nums[start] = nums[s];
nums[s] = temp;
quickSort(nums,start,s - 1);
quickSort(nums,s + 1,end);
}
}