题目链接 | 2321. 拼接数组的最大分数 |
---|---|
思路 | 最大子数组和-变体 |
题解链接 | 转换成最大子数组和(Python/Java/C++/Go) |
关键点 | 无 |
时间复杂度 | \(O(n)\) |
空间复杂度 | \(O(1)\) |
代码实现:
class Solution:def maximumsSplicedArray(self, nums1: List[int], nums2: List[int]) -> int:return max(self.simpleSolution(nums1, nums2),self.simpleSolution(nums2, nums1))def simpleSolution(self, nums1, nums2):maxv = presum = 0for x, y in zip(nums1, nums2):presum += y - xif presum < 0: presum = 0if presum > maxv: maxv = presumreturn sum(nums1) + maxv