median of 2 sorted arrays

by hrabinowitz

JavaScript

/**
 * @param {number[]} nums1
 * @param {number[]} nums2
 * @return {number}
 */
var findMedianSortedArrays = function(nums1, nums2) {
  var combined = [];
  var nEntries = nums1.length + nums2.length;
  var targetIndex = Math.floor(nEntries/2);
  var i1=0, i2=0;
  if (nums1.length == 0) {
  	combined = nums2;
  } else if (nums2.length == 0) {
  	combined = nums1;
  } else {
      for (var ic=0; ic<=targetIndex+1; ic++) {
        if (nums1[i1]<nums2[i2]) {
            combined[ic] = nums1[i1++];
        } else {
            combined[ic] = nums2[i2++];
        }
      }
  }

  if (nEntries%2 == 0) {
      // even combined index
      median = (combined[targetIndex-1] + combined[targetIndex])/2;
  } else {
      // odd combined index
      median = combined[targetIndex];
  }
  return median;
};

nums1 = [1, 3]
nums2 = [2]
console.log("median of arrays is " + findMedianSortedArrays(nums1, nums2));

nums1 = [1, 2];
nums2 = [3, 4];
console.log("median of arrays is " + findMedianSortedArrays(nums1, nums2));

nums1 = [1, 2, 8];
nums2 = [2, 3, 4];
console.log("median of arrays is " + findMedianSortedArrays(nums1, nums2));

nums1 = [7];
nums2 = [];
console.log("median of arrays is " + findMedianSortedArrays(nums1, nums2));