Search⌘ K
AI Features

Solution: Create Maximum Number

Explore how to create the maximum number of length k by combining digits from two arrays while preserving their relative order. Understand the strategy of using a monotonic stack to pick the largest subsequence and a two-pointer merge that resolves ties using suffix comparison. This lesson teaches you to evaluate all splits between the arrays and merge results to find the lexicographically greatest number efficiently.

Statement

You are given two integer arrays, nums1 and nums2, of lengths m and n, respectively. Each array represents the digits of a number.

You are also given an integer k. Create the largest possible number of length k (where k \leq m ++ n) using digits from both arrays. You may interleave digits from the two arrays, but the relative order of digits within the same array must be preserved.

Return an array of k digits representing the maximum number.

Constraints:

  • m == nums1.length

  • n == nums2.length

  • 11 \leq m, n 500\leq 500

  • 00 \leq nums1[i], nums2[i] 9\leq 9

  • 1 ...