可能重复:
如何在O(n)的时间复杂度下找到长度为n的未排序数组中第k个最大的元素? 大家好, 我在面试中遇到了一个问题。
问题:
整数数组将作为输入给出,你应该在不排序的情况下找出排序后的中间元素。
例如。 输入:1,3,5,4,2 输出: 3 当你对给定的输入数组进行排序时,它将是1,2,3,4,5,其中中间元素是3。 你应该在一次遍历中找到这个元素,而无需排序。
有什么解决方案吗?
如何在O(n)的时间复杂度下找到长度为n的未排序数组中第k个最大的元素? 大家好, 我在面试中遇到了一个问题。
问题:
整数数组将作为输入给出,你应该在不排序的情况下找出排序后的中间元素。
例如。 输入:1,3,5,4,2 输出: 3 当你对给定的输入数组进行排序时,它将是1,2,3,4,5,其中中间元素是3。 你应该在一次遍历中找到这个元素,而无需排序。
有什么解决方案吗?