TypeScriptHardSorting & Searching40 min

Find the median of two sorted arrays

Return the median of two nondecreasing arrays whose combined length is positive. For an even total length, return the mean of the two middle values. Inputs are valid JSON and must not be modified unless the algorithm uses a local copy. This exercise probes typed data modeling, boundary handling, and algorithm selection.

Input

One JSON value: { left: number[]; right: number[] }. See the sample for its exact shape.

Output

One compact JSON value of type number. Strings include JSON quotes; arrays preserve the specified order.

Constraints

Array/string lengths are 0 to 10000 unless stated otherwise. Numbers are integers in [-1000000,1000000]; all computed results fit the safe integer range.

Example

Input

{"left":[1,3],"right":[2]}

Output

2

Example 2 input

{"left":[1],"right":[2,3,4,5,6]}

Output

3.5

Checks a boundary or contrasting case beyond the public examples.

Public test cases (2)

  • Input

    {"left":[1,3],"right":[2]}

    Expected output

    2
  • Input

    {"left":[1,2],"right":[3,4]}

    Expected output

    2.5
Hints (2)
  1. Start with the required output order and the empty-input behavior.
  2. Binary-search a partition of the smaller array that balances both left halves

Target complexity: time O(log(min(n,m)+1)) · space O(1)

Your solution

Checking runner availability…

Reference solution

Sign in for solution
All TypeScript programs