BR 技术头条 技术链接、资讯与社区分享流
ra www.raychase.net / 2017-08-31 23:59 / by @技术头条 / 原作者:@RayChase

求第K个数的问题

一道经典的题目。给一堆数,如果从小到大排好,求第k个是多少。假设排列的下标从1开始,而非0开始。

这个问题如此之简单而熟悉,可它却可以是很多现实问题的某一个子问题的抽象。它本身相关的问题其实就不少,而且还可以不断演进,成为不同复杂程度的问题。

看到这个问题,脑海里的第一反应是一左一右红蓝两条分支——堆排序或者快排。Java中快排用Arrays.sort就可以了,如果是堆排序需要用到PriorityQueue。

赞过的人

@技术头条

发表评论