题解 | #牛群的排序#
牛群的排序
https://www.nowcoder.com/practice/c35e45c4adda44a1a3c5115033e0c5f0?tpId=363&tqId=10605827&ru=/exam/oj&qru=/ta/super-company23Year/question-ranking&sourceUrl=%2Fexam%2Foj
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param nums int整型一维数组
* @return int整型一维数组
*/
public int[] sortCows(int[] nums) {
QuickSort(nums,0,nums.length-1);
return nums;
}
public void QuickSort(int[] nums, int begin, int end) {
if(begin>end){
return;
}
int left = begin;
int right = end;
int key = left;
while (left < right) {
while (left < right && nums[right] >= nums[key]) {
right--;
}
while (left < right && nums[left] <= nums[key]) {
left++;
}
if (left < right) {
int temp = nums[left];
nums[left] = nums[right];
nums[right] = temp;
}
}
int meet = left;
int temp = nums[meet];
nums[meet] = nums[key];
nums[key] = temp;
QuickSort(nums,0,meet-1);
QuickSort(nums,meet+1,end);
}
}
本题知识点分析:
1.快速排序
2.数组遍历
3.数学模拟
本题解题思路分析:
1.直接运用快速排序,然后因为引用类型值被修改是同时修改实参和形参,直接调用完返回即可

查看14道真题和解析
