i
and j
to point to the start of nums1
and nums2
respectively.sum1
and sum2
to keep track of the sum of elements traversed in nums1
and nums2
respectively.result
to store the maximum score.i
and j
have not reached the end of their respective arrays:
a. If nums1[i] < nums2[j]
, add nums1[i]
to sum1
and increment i
.
b. If nums1[i] > nums2[j]
, add nums2[j]
to sum2
and increment j
.
c. If nums1[i] == nums2[j]
, add the maximum of sum1
and sum2
plus nums1[i]
to result
, reset sum1
and sum2
to 0, and increment both i
and j
.nums1
to sum1
and in nums2
to sum2
.sum1
and sum2
to result
.result
modulo 10^9 + 7
.