Get the Maximum Score LeetCode solution in Java
1class Solution {2public int maxSum(int[] nums1, int[] nums2) {3long currSum = 0, sum1 = 0, sum2 = 0;4int i = 0;5int j = 0;6while (i < nums1.length && j < nums2.length) {7if (nums1[i] == nums2[j]) {8currSum += Math.max(sum1, sum2) + nums2[j];9sum1 = 0;10sum2 = 0;11i++;12j++;13} else if (nums1[i] < nums2[j]) {14sum1 += nums1[i++];15} else {16sum2 += nums2[j++];17}18}1920while (i < nums1.length) {21sum1 += nums1[i++];22}23while (j < nums2.length) {24sum2 += nums2[j++];25}26return (int) ((currSum + Math.max(sum1, sum2)) % 1000000007);27}28}