题解 | #寻找第K大#

寻找第K大

http://www.nowcoder.com/practice/e016ad9b7f0b45048c58a9f27ba618bf

class Solution {
public:
    int quick_sort(vector<int> &data, int left, int right){
        int base = data[left];
        while (left < right)
        {
            while (left < right && data[right] >= base)
                --right;
            data[left] = data[right];
            while (left < right && data[left] <= base)
                ++left;
            data[right] = data[left];
        }
        data[left] = base;
        return left;
    }
    
    int findKth(vector<int> a, int n, int K) {
        int low = 0;
        int high = n -1;
        K = n - K;
        while (true)
        {
            int index = quick_sort(a, low, high);
            if (index == K)
                return a[index];
            if (index < K)
                low = index + 1;
            if (index > K)
                high = index - 1;
        }
        
    }
};

全部评论

相关推荐

感觉自己陷入了死循环,因为不知道简历写什么所以什么也不想做,然后又什么都没做所以没得写。从三月到六月,三个月啊
零壹超人:没有简历 ➜ 不找项目 ➜ 没内容写 ➜ 更没简历 ➜ … 无限循环。你陷入了死锁,随便打破死锁的四个条件之一就可以了,打破循环等待,立即开始行动,不要等待;破坏占有且等待,立即抄一份简历先把简历写出来,再一点一点学简历上的东西
点赞 评论 收藏
分享
05-29 20:34
门头沟学院 C++
KarlAllen:得做好直接春招的准备。学历差的话,一是面试要求会比学历好的严格不少,二是就算面试通过了也会被排序。总之暑期和秋招对于学历差的就是及其不友好
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务