public static void main(String[] args) {
System.out.println("Hello World!");
int[] nums = new int[]{3,2,1,5,6,4};
findKthLargest(nums,2);
}
public static int findKthLargest(int[] nums, int k) {
qwe1(nums,0,nums.length-1);
System.out.println(Arrays.toString(nums));
return nums[nums.length-k];
}
static void qwe1(int[] nums,int low,int high){
if(low>=high)
return ;
int mid = (low+high)/2;
qwe1(nums,low,mid);
qwe1(nums,mid+1,high);
sort(nums,low,mid,high);
}
static void sort(int[] nums,int low,int mid,int high){
int[] tmp = new int[high-low+1];
int i=0;
int q=low,w=mid+1;
while(q<=mid&&w<=high){
if(nums[q]<=nums[w])
tmp[i++] = nums[q++];
else
tmp[i++] = nums[w++];
}
while(q<=mid)
tmp[i++] = nums[q++];
while(w<=high)
tmp[i++] = nums[w++];
i = 0;
for(int j=low;j<=high;j++){
nums[j] = tmp[i++];
}
}
java 归并排序
最新推荐文章于 2024-04-02 14:33:39 发布