/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param nums1 int整型一维数组 
 * @param nums2 int整型一维数组 
 * @return double浮点型
 */
function Median( nums1 ,  nums2 ) {
    // write code here
    let list =nums1.concat(nums2).sort((a,b) => a-b);
    let size = list.length /2;
    let reslut = 0;
    if(size % 1 !== 0){
        reslut = list[Math.floor(size)]
    }else{
         reslut = (list[Math.floor(size)] + list[Math.floor(size -1)])/2;
    }
    return reslut;
}
module.exports = {
    Median : Median
};

描述:

给定两个长度为 n 和 m 的升序数组(后一个数一定大于等于前一个数),请你找到这两个数组中全部元素的中位数。

思路:

中位数,即为新数组最中间的数据,如果新数组的length为奇数时,若为9,则中位数需返回第5位的数据,对应的数组下标是4;

若length为偶数时,若为8,则中位数需要第4位和第5位数据之和,再除以2。

1、先将两个数组合并成一个数组,并且对数组进行升序操作,变成新数组list。

2、得到新数组list的长度,并且根据奇数和偶数的情况分别进行操作。在进行操作的时候,需要注意数组中第i个数据,对应的数组下标是i-1