Search⌘ K
AI Features

Solution: Get the Maximum Score

Explore how to maximize the score by traversing two sorted arrays with the two pointers method. Understand when to switch arrays at common elements to build the optimal path efficiently. This lesson teaches you a linear time, constant space approach to solve the problem without enumerating all paths.

Statement

You are given two sorted arrays of distinct integers, nums1 and nums2.

A valid path is constructed according to the following rules:

  • You start at the index 00 of either nums1 or nums2.

  • From there, you must traverse the chosen array from left to right.

  • Suppose you encounter a number in both arrays (a common element, not necessarily at the same index). In that case, you may choose to switch to the other array at that element and continue the traversal from that point forward.

  • A common element can only be counted once in the total path score, regardless of the array it appears.

The score of a path is defined as the sum of all unique elements visited during traversal. Your task is to return the maximum possible score achievable by any valid path. As the answer may be too large, return the maximum score modulo 109+710^{9}+7.

Constraints:

  • 1 \leq nums1.length, nums2.length \leq 10510^{5} ...