50. OA - Max & Min Median of Subsequences

Max & Min Median of Subsequences
Given an integer array values of size n and an integer k, consider all subsequences of length k, compute each subsequence's median, and return the maximum and minimum median among them.

Definitions

  • Subsequence (length k): pick any k elements from values by choosing indices i1 < i2 < ... < ik (not necessarily contiguous).
  • Median: sort the chosen k elements into b. The median is b[(k-1)/2] (0-based, integer division), i.e., the lower median when k is even.

Task

  1. Enumerate all subsequences of length k.
  2. For each subsequence, sort it and compute its median (as defined above).
  3. Return [maxMedian, minMedian] across all length-k subsequences.

Example 1

values = [1, 2, 3]
k = 2

All length-2 subsequences (order chosen by indices):

  • [1, 2] → sorted [1, 2] → median = 1
  • [1, 3] → sorted [1, 3] → median = 1
  • [2, 3] → sorted [2, 3] → median = 2

Output: [2, 1]

Example 2

values = [5, 1, 4, 2]
k = 3

All length-3 subsequences (4 choose 3 = 4):

  • [5, 1, 4] → sorted [1, 4, 5] → median = 4
  • [5, 1, 2] → sorted [1, 2, 5] → median = 2
  • [5, 4, 2] → sorted [2, 4, 5] → median = 4
  • [1, 4, 2] → sorted [1, 2, 4] → median = 2

Output: [4, 2]

Constraints

  • 1 ≤ n ≤ 1e5
  • 0 ≤ values[i] ≤ 1e9
  • 1 ≤ k ≤ n




Please use Laptop/Desktop or any other large screen to add/edit code.