Hard
Maximum Score Of Spliced Array — Python
Full explanation · Time O(n) · Space O(1)
# Time: O(n)
# Space: O(1)
# greedy, kadane's algorithm
class Solution(object):
def maximumsSplicedArray(self, nums1, nums2):
"""
:type nums1: List[int]
:type nums2: List[int]
:rtype: int
"""
def kadane(a):
result = curr = 0
for x in a:
curr = max(curr+x, 0)
result = max(result, curr)
return result
return max(sum(nums1)+kadane((nums2[i]-nums1[i] for i in xrange(len(nums1)))),
sum(nums2)+kadane((nums1[i]-nums2[i] for i in xrange(len(nums2)))))