小编Ben*_*lax的帖子

用于查找无序数组的第n个排序子数组的算法是什么?

我最近在一次采访中遇到了这个问题而且我失败了,现在寻找答案.

  1. 假设我有一个很大的n个整数数组,所有的不同.

  2. 如果这个数组是有序的,我可以将它细分为x个较小的数组,全部大小为y,除了最后一个,可能更少.我可以提取第n个子阵列并将其返回,已经排序.

示例:数组4 2 5 1 6 3.如果y = 2且我想要第二个数组,那么它将是3 4.

现在我所做的只是对数组进行排序并返回第n个子数组,它采用O(n log n).但有人告诉我,有一种方法可以做到这一点O(n + y log y).我在互联网上搜索并没有找到任何东西.想法?

c++ algorithm

11
推荐指数
2
解决办法
778
查看次数

标签 统计

algorithm ×1

c++ ×1