题目
给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。
算法
public class LeetCode215 {
public static int findKthLargest(int[] nums, int k) {
int[] bucket = new int[25];
for(int n : nums) {
bucket[n + 10] ++;
}
for (int i=24, sum = 0; i>=0; i--) {
if ((sum += bucket[i]) >= k) {
return i-10;
}
}
return 0;
}
public static void main(String[] args) {
int[] nums = {3,2,1,7,6,4};
System.out.println(findKthLargest(nums,3));
}
}
测试
这思路,经典吗