1. 程式人生 > >尋找兩個有序陣列的中位數

尋找兩個有序陣列的中位數

題目:給定兩個大小為 m 和 n 的有序陣列 nums1 和 nums2。

         請你找出這兩個有序陣列的中位數,並且要求演算法的時間複雜度為 O(log(m + n))。

         你可以假設 nums1 和 nums2 不會同時為空。

         示例 1:

nums1 = [1, 3]

nums2 = [2]

則中位數是 2.0

      

var findMedianSortedArrays = function(nums1, nums2) {

    var arr =  Array.prototype.concat(nums1,nums2);

    arr = arr.sort(sortNumber);

var num = 0;

//js不會取整注意 3/2不是等於1

    if(arr.length%2==0)

        {

          var index = arr.length/2;

            num = (arr[index]+arr[index-1])/2;

        }

    else{

       var index = Math.round(arr.length/2)-1;

        num = arr[index];

    }

    return num;
  
   

   

};

function sortNumber(a,b)
{
return a - b
}