您现在的位置是:主页 > news > iis做本地视频网站/广州网站排名优化报价
iis做本地视频网站/广州网站排名优化报价
admin2025/6/9 15:23:15【news】
简介iis做本地视频网站,广州网站排名优化报价,免费建自己的网站赚钱,网站建设 推广信息这道题是一道常见的面试题,其实这道题可以用快速排序的思想来实现,而且求前k大个数和第k大的数,其实思路是一样的,都是用快排的思想。只要不停遍历,直到找到分界点,即该分界点的右边的数都比该分界点大&…
iis做本地视频网站,广州网站排名优化报价,免费建自己的网站赚钱,网站建设 推广信息这道题是一道常见的面试题,其实这道题可以用快速排序的思想来实现,而且求前k大个数和第k大的数,其实思路是一样的,都是用快排的思想。只要不停遍历,直到找到分界点,即该分界点的右边的数都比该分界点大&…
这道题是一道常见的面试题,其实这道题可以用快速排序的思想来实现,而且求前k大个数和第k大的数,其实思路是一样的,都是用快排的思想。只要不停遍历,直到找到分界点,即该分界点的右边的数都比该分界点大;该分界点左边的数都比该分界点小。而且刚好该分界点即为第k大的数。
public static void Kth(int[] nums,int k){int result = Kthtemp(nums,0,nums.length - 1,k);//for(int i = result; i < nums.length; i++)// System.out.print(nums[i] + " ");//System.out.println();//System.out.println(nums[result]);}public static int Kthtemp(int[] nums,int low,int high,int k){int middle = getMiddle(nums, low, high); if (high - middle + 1 > k)return Kthtemp(nums, middle + 1, high, k);else if (high - middle + 1 < k) //递归实现,调用该函数自身,调整的是个数return Kthtemp(nums, 0, middle - 1, k - (high - middle + 1));else //当该分界点为k,那么直接返回该下标return middle;}public static int getMiddle(int[] array,int low,int high){ //快排的思路,每次寻找分界点int tmp = array[low];while(low < high){while(low < high && array[high] > tmp)high--;array[low] = array[high];while(low < high && array[low] < tmp)low++;array[high] = array[low];}array[low] = tmp;//System.out.print(array[low] + " ");return low;}
这道题是快排的变化题,需要不断温故。