博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
215. Kth Largest Element in an Array
阅读量:6676 次
发布时间:2019-06-25

本文共 1369 字,大约阅读时间需要 4 分钟。

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.

Example 1:

Input: [3,2,1,5,6,4] and k = 2Output: 5

Example 2:

Input: [3,2,3,1,2,4,5,5,6] and k = 4Output: 4

Note:

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

难度:medium

题目:找出在没有排序的数组中第K大的元素,注意是排序后的第K大的元素,不是第K个不同元素。

思路:快速排序

Runtime: 29 ms, faster than 36.08% of Java online submissions for Kth Largest Element in an Array.

Memory Usage: 38.8 MB, less than 51.09% of Java online submissions for Kth Largest Element in an Array.

class Solution {    public int findKthLargest(int[] nums, int k) {        int idx = -1;        k = nums.length - k;        for (int i = 0, j = nums.length - 1; i <= j && idx != k;) {            idx = quickSort(nums, i, j);            if (idx < k) {                i = idx + 1;            } else if (idx > k) {                j = idx - 1;            }        }                return nums[idx];    }        private int quickSort(int[] nums, int i, int j) {        int piovt = nums[i];        while (i < j) {            while (i < j && nums[j] >= piovt) {                j--;            }            nums[i] = nums[j];            while (i < j && nums[i] < piovt) {                i++;            }            nums[j] = nums[i];        }        nums[i] = piovt;                return i;    }}

转载地址:http://ilgxo.baihongyu.com/

你可能感兴趣的文章
【HDOJ】3016 Man Down
查看>>
window.open打开新页面,并将本页数据用过url传递到打开的页面;需要两个页面;...
查看>>
查看本机IP分为两种情况:
查看>>
Scala进阶之路-Scala特征类与unapply反向抽取
查看>>
洛谷P3057 [USACO12NOV]远处的牧场Distant Pastures
查看>>
hdu3415 Max Sum of Max-K-sub-sequence 单调队列
查看>>
6421B Lab2 DHCP的配置及故障排除
查看>>
[C# 基础知识梳理系列]专题一:深入解析委托——C#中为什么要引入委托
查看>>
FOSCommentBundle功能包:其它添加评论到页面的方法
查看>>
SQL Server 2012笔记分享-17:理解并设置文件表(FileTable)
查看>>
MongoDB运行状态、性能监控与分析
查看>>
Exchange 2016共享邮箱不保存已发送邮件的问题
查看>>
[C#基础知识系列]全面解析C#中静态与非静态
查看>>
SQL Server 2012笔记分享-40:自动维护索引
查看>>
【Visual C++】游戏开发笔记十五 游戏人工智能(一) 运动型游戏AI
查看>>
Linux 学习_samba
查看>>
不说技术~有时,开发者还是应该讲究一点!
查看>>
如何做好工作流定义
查看>>
.NET I/O 学习笔记:目录和文件
查看>>
pgpool-II3.1 的begin transaction 和 自动追加 BEGIN/COMMIT问题
查看>>