2321. 拼接数组的最大分数

题目链接 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 = 0
        for x, y in zip(nums1, nums2):
            presum += y - x
            if presum < 0: presum = 0
            if presum > maxv: maxv = presum
        return sum(nums1) + maxv
posted @ 2024-09-18 23:18  WrRan  阅读(5)  评论(0编辑  收藏  举报