给定无序数组(零或正整数),找到正中值。
步骤:
排序数组在开始时放置0 将0之后的元素排序为数字顺序
运行两个for循环(i ++和j + 2)以找到中间元素 打印值
这是对的吗?
注意: 必须这样做,没有复制数组 不允许使用array.length函数
答案 0 :(得分:3)
是的,这是正确的。您只需要小心地正确计算偶数大小的数组的中位数。但它不是最好的算法。该算法为O(n log n),以数组排序为界。
另一种选择是实现具有中位数中位数的quickselect以实现O(n)复杂度。