LeetCode 215. Kth Largest Element in an Array
来源:互联网 发布:皆川纯子 知乎 编辑:程序博客网 时间:2024/05/16 05:01
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) { Arrays.sort(nums); return nums[nums.length-k]; }}
这样的语句太简单了,就在网上找了一下分治法的解法,发现了一篇不错的博客 点击打开链接,看了之后也自己动手敲了一下。
public class Solution { public int findKthLargest(int[] nums, int k) { int left=0; int right=nums.length-1; while(true){ int pos = helper(nums,left,right); if(pos==k-1){ return nums[pos]; }else if(pos< k-1){ left=pos+1; }else{ right=pos-1; } } } public int helper(int[] nums,int begin ,int end ){ int left = begin +1; int right = end; while(left <=right){ if(nums[left]<nums[begin] && nums[right]>nums[begin]){ swap(nums,left,right); } if(nums[left]>=nums[begin]){ left++; } if(nums[right]<=nums[begin]){ right--; } } swap(nums,begin,right); return right; } public void swap(int[] nums, int i,int j){ int temp=nums[i]; nums[i]=nums[j]; nums[j]=temp; }}
阅读全文
0 0
- Leetcode 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
- [leetcode] 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
- 【Leetcode】Kth Largest Element in an Array
- Leetcode: Kth Largest Element in an Array
- Kth Largest Element in an Array -- leetcode
- [Leetcode]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
- LeetCode Kth Largest Element in an Array
- leetcode-Kth Largest Element in an Array
- LeetCode -- Kth Largest Element in an Array
- 2017广东高考作文题出炉:选择两三个关键词
- xargs: unmatched double quote; by default quotes are special to xargs unless you use the -0 option
- Gradle之依赖配置
- java后台跨服务器请求方法
- Android6.0中ART替换DVM的过程分析
- LeetCode 215. Kth Largest Element in an Array
- 结婚大师告诉你:如何去打扮花童!
- jquery raty星级评分插件的具体使用(可以结合ajax和后台交互)以及点赞功能的实现
- Android 命名规范 (提高代码可读性)
- Android动画点击不运行
- Eclipse Java工程导入外部jar包与内部jar包(导入项目有红色感叹号的解决办法)(转)
- TW自动化测试下拉框遇到的问题及解决方法
- Android6.0 一些新的改变
- 软件工程之软件测试