码迷,mamicode.com
首页 > 其他好文 > 详细

Leetcode 215 Kth Largest Element in an Array

时间:2015-06-29 10:19:30      阅读:97      评论:0      收藏:0      [点我收藏+]

标签:leetcode   优先队列   第k最值   算法   

1. 问题描述

  找出数组中第k大的数,注意:数组为无序数组。
  技术分享


2. 方法与思路

  是一道经典算法题。解法也有好几种,一种是先进行排序,然后取出第k大的数;由于排序算法最快效率为O(nlogn),所以整体效率为O(nlogn)。二是使用优先队列,SLT中有优先队列的用法,内部是以堆的方式实现。时间效率也比较高,O(nlogn)
  

class Solution {
public:
    int findKthLargest(vector<int>& nums, int k) {
        priority_queue<int> pq;

        for(auto &num:nums)
        {
            pq.push(num);
        }
        for(;k>1;k--) pq.pop();

        return pq.top();
    }
};

Leetcode 215 Kth Largest Element in an Array

标签:leetcode   优先队列   第k最值   算法   

原文地址:http://blog.csdn.net/jeanphorn/article/details/46673137

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!