关闭

【Leetcode】Kth Largest Element in an Array

2919人阅读 评论(0) 收藏 举报
分类:

题目链接:https://leetcode.com/problems/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.

思路:

1、快排,时间复杂度O(nlogn)

2、分冶..用快排划分,递归的划分。每一次划分都可以去确定一个元素的位置,也就知道比该元素小的元素数目。目测时间复杂度最差为 O(n^2),最好为O(1),平均?没动力做了......待做

算法:

public int findKthLargest(int[] nums, int k) {  
    Arrays.sort(nums);  
    return nums[nums.length-k];  
}  


1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:528708次
    • 积分:8200
    • 等级:
    • 排名:第2541名
    • 原创:305篇
    • 转载:6篇
    • 译文:0篇
    • 评论:34条
    博客专栏
    文章分类
    最新评论