解题方案:
var findMedianSortedArrays = function(nums1, nums2) {
var newArr=[];
// 首先把一些特殊情况排除掉:两个数字长度为0或者1的情况
if(nums1.length==1&&nums2.length==1){
return (nums1[0]+nums2[0])/2
}
if(nums1.length==0&&nums2.length==0){
return 0
}
if(nums1.length>0&&nums2.length==0){
return getMiddle(nums1)
}
if(nums1.length==0&&nums2.length>0){
return getMiddle(nums2)
}
// 给两个数组进行排序
let i=0,j=0
while(i<nums1.length||j<nums2.length){
if(nums1[i]<=nums2[j]){
newArr.push(nums1[i]);
i++;
}
if(nums1[i]>nums2[j]){
newArr.push(nums2[j]);
j++;
}
if(i>=nums1.length&&j<nums2.length){
newArr.push(nums2[j]);
j++;
}
if(i<nums1.length&&j>=nums2.length){
newArr.push(nums1[i]);
i++;
}
}
// 获取数组的中位数
function getMiddle(arr){
var len = arr.length;
if(len%2==1){
return arr[(len-1)/2]
}else{
return (arr[len/2-1]+arr[len/2])/2
}
}
return getMiddle(newArr)
};