215. 数组中的第K个最大元素,解法求解
这个题不可以根据它给出的数据范围,我们构建一个和其数值大小的数组,对给出的数计数,然后倒着找第k大的元素吗。我看题解全是快排、桶排,没有人这么写,笔试、面试的时候,可不可用数组的方法啊。
我的解法如下:
class Solution { public int findKthLargest(int[] nums, int k) { int[] arry = new int[20010]; for(int i = 0; i < nums.length; i++){ arry[nums[i] + 10000] ++; } for(int i = 20009; i >= 0; i--){ k -= arry[i]; if(k <= 0) { return i - 10000; } } return 0; } }
速度也还行
#算法##笔试#