首页 > 其他 > 详细

215. Kth Largest Element in an Array 第K大的数

时间:2018-01-14 12:51:56      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:start   ++   uic   find   sta   第k大   ret   color   post   

class Solution {
public:
    int quicksort(vector<int>& nums, int start, int end, int k){
        int i = start;
        int j = end;
        int x = nums[i];
        while (i<j){            //快排核心…
            while (nums[j]<x && i<j)
                j--;
            if (i<j)
                nums[i++] = nums[j];
            while (nums[i]>x && i<j)
                i++;
            if (i<j)
                nums[j--]=nums[i];
        }
        nums[i] = x;
        if (i==k-1) return x;
        else if (i>k-1)         //出错的地方……………………
            return quicksort(nums,start,i-1,k);
        else
            return quicksort(nums,i+1,end,k);
    }
public:
    int findKthLargest(vector<int>& nums, int k) {
        int len = nums.size();
        //思路:快排,从大到小,放在第(K-1)处的就是第k大的
        int res = quicksort(nums,0,len-1,k);
        return res;
    }
};

 

215. Kth Largest Element in an Array 第K大的数

标签:start   ++   uic   find   sta   第k大   ret   color   post   

原文:https://www.cnblogs.com/sherry-yang/p/8282650.html

(0)
(0)
   
举报
评论 一句话评论(0
0条  
登录后才能评论!
© 2014 bubuko.com 版权所有 鲁ICP备09046678号-4
打开技术之扣,分享程序人生!
             

鲁公网安备 37021202000002号