一、问题描述:
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.
二、解决思路:
排序:冒泡排序,但是不需要全部排序,冒泡出前k个大的元素即可。
三、代码:
public static int findKthLargest(int[] nums, int k) {
for (int i = 0; i < k; i++) {
for (int j = nums.length - 1; j > i; j--) {
if (nums[j] > nums[j - 1]) {
int tmp = nums[j];
nums[j] = nums[j - 1];
nums[j - 1] = tmp;
}
}
}
return nums[k - 1];
}