Kth Largest Element in an Array

Find the kth largest element in an unsorted array. Note that it is the kth largest element in the sorted order, not the kth distinct element.

For example,
Given [3,2,1,5,6,4] and k = 2, return 5.

Note: 
You may assume k is always valid, 1 ≤ k ≤ array's length.

Credits:
Special thanks to @mithmatt for adding this problem and creating all test cases.

解法一:

先排序,复杂度O(nlogn)

class Solution {
public:
int findKthLargest(vector<int>& nums, int k) {
sort(nums.begin(), nums.end());
return nums[nums.size()-k];
}
};

解法二:

建最大堆,取k次最大元素。复杂度O(n+klogn)

class Solution {
public:
int findKthLargest(vector<int>& nums, int k) {
make_heap(nums.begin(), nums.end());
int ret;
int n = nums.size();
while(k --)
{
pop_heap(nums.begin(), nums.begin()+n);
ret = nums[n-];
n --;
}
return ret;
}
};

【LeetCode】215. Kth Largest Element in an Array (2 solutions)的更多相关文章

  1. 【LeetCode】215. Kth Largest Element in an Array 解题报告(Python & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 方法一:移除最大值 方法二:排序 方法三:大顶堆 方 ...

  2. 【leetcode】215. Kth Largest Element in an Array

    Find the kth largest element in an unsorted array. Note that it is the kth largest element in the so ...

  3. 【刷题-LeetCode】215. Kth Largest Element in an Array

    Kth Largest Element in an Array Find the kth largest element in an unsorted array. Note that it is t ...

  4. 【easy】215. Kth Largest Element in an Array 第K大的数

    class Solution { public: int quicksort(vector<int>& nums, int start, int end, int k){ int ...

  5. LeetCode OJ 215. Kth Largest Element in an Array 堆排序求解

    题目链接:https://leetcode.com/problems/kth-largest-element-in-an-array/ 215. Kth Largest Element in an A ...

  6. 【LeetCode】703. Kth Largest Element in a Stream 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 小根堆 日期 题目地址:https://leetco ...

  7. LeetCode OJ 215. Kth Largest Element in an Array

    Find the kth largest element in an unsorted array. Note that it is the kth largest element in the so ...

  8. 【LeetCode】230. Kth Smallest Element in a BST (2 solutions)

    Kth Smallest Element in a BST Given a binary search tree, write a function kthSmallest to find the k ...

  9. 网易2016 实习研发工程师 [编程题]寻找第K大 and leetcode 215. Kth Largest Element in an Array

    传送门 有一个整数数组,请你根据快速排序的思路,找出数组中第K大的数. 给定一个整数数组a,同时给定它的大小n和要找的K(K在1到n之间),请返回第K大的数,保证答案存在. 测试样例: [1,3,5, ...

随机推荐

  1. CSDN日报20170226——《你离心想事成仅仅差一个计划》

    [程序人生] 你离心想事成仅仅差一个计划 作者:安晓辉 从目标怎样导出工作计划.我们会以"出版一本小说"为例来解说计划的形成过程. 在開始之前.我们先来说明一个概念:目标的两种类型 ...

  2. Android -- SpannableString

    SpannableString Android通过SpannableString类来对EditText和TextView的指定文本进行处理. ForegroundColorSpan 文本颜色 priv ...

  3. 【Spark】开发Spark选择Java还是Scala?

    Spark-Java-Scala-哪种语言 spark java 支持_百度搜索 (1 封私信)Spark 中用 Scala 和 java 开发有什么区别? - 知乎 (1 封私信)Spark平台下, ...

  4. neo4j的配置文件(图文详解)

    不多说,直接上干货! 前期博客 Ubuntu16.04下Neo4j图数据库官网安装部署步骤(图文详解)(博主推荐) Ubuntu14.04下Neo4j图数据库官网安装部署步骤(图文详解)(博主推荐) ...

  5. telnet 163发送邮件

    1.telnet smtp.163.com 25 2. 3.测试成功

  6. POJ 3009:Curling 2.0 推箱子

    Curling 2.0 Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 14090   Accepted: 5887 Desc ...

  7. 解决CentOS下无法发送邮件的问题

    最近有个项目从虚拟主机迁到云主机上,换了个环境,原来用于找回密码的发送邮件功能竟然用不了了!反应极慢,导致tenginx报504网关超时错误. 5.5 or 7.0, sockets 初次百度,看了别 ...

  8. “图片+标签”的社交玩法已经被验证?nice 宣布获得新一轮3600万美元融资【转载+整理】

    原文地址 有次上班做公交,期间听到一个老太太说:"我加你微信啊--",还有一次去看老中医,并交换了电话,可当我回去后发现这个大夫竟然加了我微信--这些都令我有点吃惊,连60.70岁 ...

  9. linux:C++的socket编程

    基本的局域网聊天 局域网聊天TCP服务端: #include <sys/types.h> #include <sys/socket.h> #include <stdio. ...

  10. sql语句查询某一天数据

    --如果还有今天以后的数据 --一周内呢SELECT * FROM TB WHERE datediff(dd,DATE_TIME,getdate()) between 0 and 7 --从现在起往前 ...