3
public int maximumsSplicedArray(int[] nums1, int[] nums2) {4
int ans = 0, sum1 = 0, sum2 = 0;6
for (int i : nums1) sum1 += i;7
for (int i : nums2) sum2 += i;9
ans = Math.max(sum1, sum2);11
int first = 0, second = 0, max1 = 0, max2 = 0;13
for (int i = 0; i < nums1.length; i++) {14
first += (nums2[i] - nums1[i]);15
second += (nums1[i] - nums2[i]);17
max1 = Math.max(max1, first);18
max2 = Math.max(max2, second);20
if (first < 0) first = 0;21
if (second < 0) second = 0;24
ans = Math.max(ans, sum1 + max1);25
ans = Math.max(ans, sum2 + max2);