【Leetcode】Kth Largest Element in an Array

来源:互联网 发布:js 汉字长度 编辑:程序博客网 时间:2024/06/03 18:01

题目链接: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