算法题那题,在**上是堆或者快排是最优解,但他出题的时候限定了输入,只有一个乱序数组,所以用堆或者快排会浪费很多时间复杂度,只需要一个临时变量就可以解决求第K大问题,这是我当时的代码。 class Solution { public int findKthLargest(int[] nums, int k) { int maxNum = Integer.MAX_VALUE; int cnt = nums.length - k; for(int i = 0; i < nums.length; i++) { if(maxNum > nums[i]) { maxNum = nums[i]; cnt--; } if(cnt==1){ return nums[i+1]; } } return -1; } }
1 5

相关推荐

09-12 11:55
已编辑
湖南工商大学 Java
那一天的Java_J...:这种一堆问题的,别去
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务