Kth Largest Element in an Array
来源:互联网 发布:淘宝开旗舰店费用 编辑:程序博客网 时间:2024/06/05 23:39
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.
最简单的方法就是排序,倒数len-k就是结果。时间是O(nlog(n))。
public int findKthLargest(int[] nums, int k) { Arrays.sort(nums); return nums[nums.length-k];}
还有类似与快速排序的方法。平均时间是O(n), 最坏的情况是O(n^2).
public int findKthLargest(int[] nums, int k) {if(nums==null||k<1)return 0;return getKth(nums.length-k,nums,0,nums.length-1);}private int getKth(int k,int[] nums,int start,int end){int result=nums[end];int left=start,right=end;while(left<right){while(nums[left]<result&&left<right)left++;while(nums[right]>=result&&left<right)right--;swap(nums,left,right);}swap(nums,left,end);if(k==left)return result;else if(k<left)return getKth(k,nums,start,left-1);elsereturn getKth(k,nums,left+1,end);}private void swap(int[] nums,int a,int b){int tmp=nums[a];nums[a]=nums[b];nums[b]=tmp;}
0 0
- Kth Largest Element in an Array
- Leetcode Kth Largest Element in an Array
- Kth Largest Element in an Array
- Kth Largest Element in an Array
- Leetcode: Kth Largest Element in an Array
- LeetCode Kth Largest Element in an Array
- [LeetCode] Kth Largest Element in an Array
- Kth Largest Element in an Array
- [leetcode] Kth Largest Element in an Array
- Kth Largest Element in an Array
- Kth Largest Element in an Array
- leetcode--Kth Largest Element in an Array
- Kth Largest Element in an Array
- 215.Kth Largest Element in an Array
- #leetcode#Kth Largest Element in an Array
- LeetCode Kth Largest Element in an Array
- LeetCode215:Kth Largest Element in an Array
- Kth Largest Element in an Array
- 深入浅出ShellExecute
- 黑马程序员_面向对象(3)_(异常)
- SwipeRefreshLayout实现下拉刷新、上拉加载更多功能
- c/C++程序占用的内存部分
- XMLConfig
- Kth Largest Element in an Array
- hdu5391 Zball in Tina Town
- char、char*、char**数组
- Linux BSP开发指导
- 关于mysql中文字符编码设置的解决办法
- 漫谈iOS Crash收集框架
- Run-Time Check Failure #2 - Stack around the variable 'cmd' was corrupted 的可能原因
- 验证角谷猜想
- iPhone6和iPhone6p放大显示模式下的分辨率