Get the Maximum Score LeetCode solution in JavaScript

1
/**
2
* @param {number[]} nums1
3
* @param {number[]} nums2
4
* @return {number}
5
*/
6
var maxSum = function (nums1, nums2) {
7
let MODULO_AMOUNT = 10 ** 9 + 7;
8
let result = 0;
9
let ptr1 = 0;
10
let ptr2 = 0;
11
let n1 = nums1.length;
12
let n2 = nums2.length;
13
let section_sum1 = 0;
14
let section_sum2 = 0;
15
while (ptr1 < n1 || ptr2 < n2) {
16
if (ptr1 < n1 && ptr2 < n2 && nums1[ptr1] == nums2[ptr2]) {
17
result += Math.max(section_sum1, section_sum2) + nums1[ptr1];
18
result %= MODULO_AMOUNT;
19
section_sum1 = 0;
20
section_sum2 = 0;
21
ptr1 += 1;
22
ptr2 += 1;
23
continue;
24
}
25

26
if (ptr1 == n1 || (ptr2 != n2 && nums1[ptr1] > nums2[ptr2])) {
27
section_sum2 += nums2[ptr2];
28
ptr2 += 1;
29
} else {
30
section_sum1 += nums1[ptr1];
31
ptr1 += 1;
32
}
33
}
34
result += Math.max(section_sum1, section_sum2);
35
return result % MODULO_AMOUNT;
36
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0