LeetCode问题图解-2

作者: billliu_0d62 | 来源:发表于2017-09-14 18:32 被阅读131次

本文准备讲解1个算法编程问题, 这个算法编程问题来自LeetCode平台和LintCode平台。不了解.LeetCode平台的读者可以阅读笔者文章(在线编程平台推荐-LeetCode)。问题的英文版本描述如下:

Find K-th largest element in an array.

Example

In array[9,3,2,4,8], the second largest element is 8.

In array[1,2,3,4,5], the 1st largest element is 5, 2nd largest element is 4, 3rd largest element is 3 and etc.

  问题的中文版本描述:

在数组中找到第k大的元素:

样例

给出数组[9,3,2,4,8],第二大的元素是8

给出数组[1,2,3,4,5],第一大的元素是5,第二大的元素是4,第三大的元素是3,以此类推

  该问题的完全解法需要用到 Quick Sort 算法,该算法的最佳图解来自于 algorithm in a nutshell。请参见下图:

Quick Sort (from algorithm in a nutshell)

  对应完全算法的代码如下:

Quick Sort

  曾经发现多个该解法的变化版本,有的版本很难阅读,有的版本表现更好。但本文仍然推荐以上的代码方案,因为该方案与 Quick Sort 算法本身高度匹配。最后,公布1种较好的算法处理方案;这种方案在 LeetCode /LintCode 平台上需要更短 的程序运行时间且只含2句代码。代码为:

   Arrays.sort(nums);

  return nums[nums.length - k];

相关文章

  • LeetCode问题图解-2

    本文准备讲解1个算法编程问题, 这个算法编程问题来自LeetCode平台和LintCode平台。不了解.LeetC...

  • LeetCode问题图解-7

    本文准备讲解1个简单的算法编程问题, 这个算法编程问题来自LeetCode平台。不了解.LeetCode平台的读者...

  • LeetCode问题图解-6

    本文准备讲解1个简单的算法编程问题, 这个算法编程问题来自LintCode平台。不了解.LintCode平台的读者...

  • LeetCode问题图解-3

    本文准备讲解1个算法编程问题, 这个算法编程问题来自LeetCode平台。不了解.LeetCode平台的读者可以阅...

  • LeetCode问题图解-4

    本文准备讲解1个算法编程问题, 这个算法编程问题来自LeetCode平台。不了解.LeetCode平台的读者可以阅...

  • LeetCode问题图解-5

    本文准备讲解1个算法编程问题, 这个算法编程问题来自LeetCode平台。不了解.LeetCode平台的读者可以阅...

  • LeetCode问题图解-8

    本文准备讲解1个算法编程问题, 这个算法编程问题来自LeetCode平台。不了解.LeetCode平台的读者可以阅...

  • LeetCode问题图解-1

    本文准备讲解1个算法编程问题, 这个算法编程问题来自LeetCode平台。不了解.LeetCode平台的读者可以...

  • 53最大子序和-152乘积最大子数组

    图解[https://leetcode-cn.com/problems/maximum-product-subar...

  • 1937. Maximum Number of Points w

    参考的这个图解:https://leetcode.com/problems/maximum-number-of-p...

网友评论

    本文标题:LeetCode问题图解-2

    本文链接:https://www.haomeiwen.com/subject/jpgdsxtx.html