All files / leetCode 0004.ts

100% Statements 16/16
100% Branches 6/6
100% Functions 1/1
100% Lines 16/16

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29        5x 5x 5x 5x 5x 5x 5x     5x 6x   5x 4x   5x 3x   5x   5x   5x    
export default function findMedianSortedArrays(
  nums1: number[],
  nums2: number[],
): number {
  let i = 0
  let j = 0
  let k = 0
  const len1 = nums1.length
  const len2 = nums2.length
  const nums3 = Array.from<number>({ length: len1 + len2 }).fill(0)
  let median = 0.0
 
  // Merge sort
  while (j < len1 && k < len2)
    nums3[i++] = nums1[j] < nums2[k] ? nums1[j++] : nums2[k++]
 
  while (j < len1)
    nums3[i++] = nums1[j++]
 
  while (k < len2)
    nums3[i++] = nums2[k++]
 
  median
    = i % 2 === 0 ? nums3[i / 2 - 1] + nums3[i / 2] : 2 * nums3[Math.floor(i / 2)]
  median = median / 2.0
 
  return median
}