前k大

作者: Songger | 来源:发表于2019-04-02 17:36 被阅读0次
class Solution {
public:
    int getPartition(vector<int> &input,int start,int end)
    {
        if(input.empty() || start>end) return -1;
        int temp = input[end];
        int j = start - 1;
        for(int i=start;i<end;++i)
        {
            if(input[i]<=temp)
            {
                ++j;
                if(i!=j) swap(input[i],input[j]);                   
            }
        }
        swap(input[j+1],input[end]);
        return (j+1);
    }
         
    vector<int> GetLeastNumbers_Solution(vector<int> input, int k)
    {
        vector<int> result;       
        if(input.empty() || k>input.size() || k<=0) return result;
         
        int start = 0;
        int end = input.size()-1;
        int index = getPartition(input,start,end);
         
        while(index != (k-1))
        {
            if(index > (k-1))
            {
                end = index - 1;
                index = getPartition(input,start,end);
            }
            else
            {
                start = index + 1;
                index = getPartition(input,start,end);
            }
        }
         
        for(int i=0;i<k;++i)
        {
            result.push_back(input[i]);
        }
         
        return result;
    }
};

相关文章

  • 前k大

  • 海量数据找前k大

    海量数据找前k大 参考1 海量数据找前k大

  • TopK问题的思考

    1、问题 什么是 Top K 问题?简单来说就是在一堆数据里面找到前 K 大(当然也可以是前 K 小)的数。这是一...

  • 算法必学:经典的 Top K 问题

    什么是 Top K 问题?简单来说就是在一堆数据里面找到前 K 大(当然也可以是前 K 小)的数。这个问题也是十分...

  • 算法必学:经典的 Top K 问题

    什么是 Top K 问题?简单来说就是在一堆数据里面找到前 K 大(当然也可以是前 K 小)的数。这个问题也是十分...

  • topk 问题

    排序后取前 K 个 算法复杂度 O(nlogn) 遍历 K 遍 算法复杂度 O(kn) k 跟元素的小/大根堆 算...

  • 如何查找无序数组中的Top n

    解法1: 我们可以对这个乱序数组按照从大到小先行排序,然后取出前k大,总的时间复杂度为O(n*logn + k)。...

  • TopK问题(快排变形/优先级队列)

    1.数组中第k大/前k大的元素(215-中) 示例: 思路: 法1:快排变形:类似传统快排,区别在于,我们每次进行...

  • 应用: 排序,从小到大用最大堆,从大到小用最小堆 选出元素中的 top k 个top k 个最小数:数组前k个元素...

  • BFPTR算法-求TOP-K问题

    BFPTR算法-求TOP-K问题 求TOP-K问题最简单的方式为快速排序后取前K大的即可。但是这样做有两个问题 快...

网友评论

      本文标题:前k大

      本文链接:https://www.haomeiwen.com/subject/yptnbqtx.html