首页 > 其他 > 详细

215. Kth Largest Element in an Array

时间:2018-03-25 10:57:41      阅读:142      评论:0      收藏:0      [点我收藏+]

原题链接:https://leetcode.com/problems/kth-largest-element-in-an-array/description/
代码如下:

import java.util.Arrays;

/**
 * Created by clearbug on 2018/2/26.
 */
public class Solution {

    public static void main(String[] args) {
        Solution s = new Solution();
        System.out.println(s.findKthLargest(new int[]{3,2,1,5,6,4}, 2));
    }

    /**
     * 方法一:先排序,后查找
     *
     * 提交结果:94.54%
     *
     * @param nums
     * @param k
     * @return
     */
    public int findKthLargest(int[] nums, int k) {
        Arrays.sort(nums);
        return nums[nums.length - k];
    }

    /**
     * 讨论区别人的分析如下:
     *  1. 先排序,后查找
     *  2. 使用优先级队列然后遍历一次来处理,其实就是避免了对输入数组做全排序,而是把排序的责任让优先级队列来做,降低了排序数组的基数
     *  3. 使用类似快速排序的思维啦,跟求数组中 top k 的题目类似
     *  4. 借助 Blum-Floyd-Pratt-Rivest-Tarjan 算法思维来提高快排的效率,这个算法我还不甚了解,后续再深入学习
     */


}

215. Kth Largest Element in an Array

原文:https://www.cnblogs.com/optor/p/8643339.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!