Kth Largest Element in an Array
来源:互联网 发布:我的世界js搬运 编辑:程序博客网 时间:2024/06/08 16:19
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.
public class Solution { public int findKthLargest(int[] nums, int k) { return findKthLargestHelper(nums, k, 0, nums.length - 1); } private int findKthLargestHelper(int[] nums, int k, int begin, int end){ if(begin == end && k == 1) return nums[begin]; int endPoint = begin+1; int searchEnd = begin+1; int pivot = nums[begin]; while(searchEnd <= end){ if(nums[searchEnd] > pivot){ swap(nums, searchEnd, endPoint); searchEnd++; endPoint++; } else{ searchEnd++; } } endPoint--; swap(nums,endPoint, begin); if(endPoint - begin + 1 == k) return pivot; else if(endPoint - begin + 1 < k){ return findKthLargestHelper(nums, k - (endPoint - begin + 1), endPoint+1, end); } else{ return findKthLargestHelper(nums, k, begin, endPoint - 1); } } private void swap(int[] nums, int index1, int index2){ if(index1 == index2) return; int tmp = nums[index1]; nums[index1] = nums[index2]; nums[index2] = 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
- php openssl信息查看
- XMPP协议 好友管理(协议)
- Rails -- 时间的内置函数和格式说明
- git fetch, rebase,pull,merge 区别
- AWK系统化的教程
- Kth Largest Element in an Array
- app进入主页前的广告页面
- 【最佳实践系列】灵活使用单机应用程序中的数据库
- instanceof 与isAssignableFrom
- 实现底部tabhost
- R语言使用RMySQL连接及读写Mysql数据库
- php面向对象(工厂模式与单例模式)
- java生成图片验证码二,加入透明颜色,各种干扰线,干扰点,干扰框,旋转,随机位置
- Linux系统下codeblocks 复制粘贴