美文网首页
#4 Median of Two Sorted Arrays

#4 Median of Two Sorted Arrays

作者: KedAyA | 来源:发表于2017-02-21 15:44 被阅读3次

    在两个有序数组中寻找中位数,思想时归并排序的思想,将两个数组归并排序到一个数组中,提前算出中位数的个数减少循环次数

    /**
      * @param {number[]} nums1
      * @param {number[]} nums2
      * @return {number}
      */
      var findMedianSortedArrays = function(nums1, nums2) {
        var l1 = nums1.length, l2 = nums2.length,p,p1,p2,i1 = 0,i2 = 0,sum = 0,n1,n2,arr = [],result;
        p = l1 + l2;
    
        if(p % 2 === 0) {
          p1 = p / 2;
          p2 = p1 + 1;
        } else {
          p1 = (p + 1) / 2;
        }
    
        while((i1 < l1 || i2 < l2) && sum <= p1) {
          if(nums1[i1] < nums2[i2] || nums2[i2] === undefined) {
            arr.push(nums1[i1++]);
          } else {
            arr.push(nums2[i2++]);
          }
          sum = i1 + i2;
        }
    
        if(p2 === undefined) {
          result = arr[p1 - 1];
        } else {
          result = (arr[p1 - 1] + arr[p2 - 1]) / 2;
        }
    
        return result;
      };
    

    相关文章

      网友评论

          本文标题:#4 Median of Two Sorted Arrays

          本文链接:https://www.haomeiwen.com/subject/mtjuwttx.html