由于数组2中位数 中位数,因此可以对数组2的小数区(左边)和数组1的大数区(右边)进行裁剪。
怎么剪?...我们就将数组1的右边大数区裁剪1个,数组2的左边小数区裁剪1个,得到
数组1: 1, 2, 9
数组2: 4, 5, 6, 7
数组1中位数: 2
数组2中位数: 5.5
中位数范围: 2 -...此时将两个裁剪后的数组按序组合的数组中位数和原来两数组按序组合的中位数是一样的,都是5。
从上述过程中能看出,不管多长的数组,最终都能够以二分法裁剪为长度为2,储存中位数信息的偶数数组。...第二步:插入
裁剪后两个数组有长有短(就算一样长也没关系)。其中至少有一个数组已经裁剪为2个数了。将这两个数插入到另一个长的数组,进行排序组合,就可以得到中位数。
很疑惑?...我举个例子:
裁剪后的两数组:
短的: 1, 999
长的: 2, 4, 6, 8, 10, 12, 14
将短的插入两头后: 1, 2, 4, 6, 8, 10, 12, 14, 999
往里推一点