Get the Maximum Score LeetCode solution in Java

1
class Solution {
2
public int maxSum(int[] nums1, int[] nums2) {
3
long currSum = 0, sum1 = 0, sum2 = 0;
4
int i = 0;
5
int j = 0;
6
while (i < nums1.length && j < nums2.length) {
7
if (nums1[i] == nums2[j]) {
8
currSum += Math.max(sum1, sum2) + nums2[j];
9
sum1 = 0;
10
sum2 = 0;
11
i++;
12
j++;
13
} else if (nums1[i] < nums2[j]) {
14
sum1 += nums1[i++];
15
} else {
16
sum2 += nums2[j++];
17
}
18
}
19

20
while (i < nums1.length) {
21
sum1 += nums1[i++];
22
}
23
while (j < nums2.length) {
24
sum2 += nums2[j++];
25
}
26
return (int) ((currSum + Math.max(sum1, sum2)) % 1000000007);
27
}
28
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0