给定无序的整数数组打印中值

时间:2015-10-16 11:25:38

标签: arrays algorithm sorting

给定无序数组(零或正整数),找到正中值。

步骤:

排序数组在开始时放置0 将0之后的元素排序为数字顺序

运行两个for循环(i ++和j + 2)以找到中间元素 打印值

这是对的吗?

注意: 必须这样做,没有复制数组 不允许使用array.length函数

1 个答案:

答案 0 :(得分:3)

是的,这是正确的。您只需要小心地正确计算偶数大小的数组的中位数。但它不是最好的算法。该算法为O(n log n),以数组排序为界。

另一种选择是实现具有中位数中位数的quickselect以实现O(n)复杂度。