Leetcode 3196. Maximize Total Cost of Alternating Subarrays

  • [Leetcode 3196. Maximize Total Cost of Alternating Subarrays](#Leetcode 3196. Maximize Total Cost of Alternating Subarrays)
    • [1. 解题思路](#1. 解题思路)
    • [2. 代码实现](#2. 代码实现)

1. 解题思路

这一题就是一个动态规划,只需要考虑每一个元素作为开始和处于序列当中的二元态即可,其中,如果处在序列当中但刚好在奇数的位置,那么两种情况刚好可以归并。

2. 代码实现

给出python代码实现如下:

python 复制代码
class Solution:
    def maximumTotalCost(self, nums: List[int]) -> int:
        n = len(nums)
        
        @lru_cache(None)
        def dp(idx, stat):
            if idx >= n:
                return 0
            if stat == 0:
                return nums[idx] + dp(idx+1, 1)
            else:
                return max(nums[idx] + dp(idx+1, 1), -nums[idx] + dp(idx+1, 0))
            
        return dp(0, 0)

提交代码评测得到:耗时881ms,占用内存287.9MB。

相关推荐
倦王7 分钟前
力扣日刷251117
算法·leetcode·职场和发展
Swift社区4 小时前
LeetCode 427 - 建立四叉树
算法·leetcode·职场和发展
G***66916 小时前
算法设计模式:贪心与动态规划
算法·设计模式·动态规划
墨染点香6 小时前
LeetCode 刷题【160. 相交链表】
算法·leetcode·链表
少睡点觉6 小时前
LeetCode 238. 除自身以外数组的乘积 问题分析+解析
java·算法·leetcode
YoungHong19926 小时前
面试经典150题[066]:分隔链表(LeetCode 86)
leetcode·链表·面试
Wenhao.8 小时前
LeetCode 救生艇
算法·leetcode·golang
夏鹏今天学习了吗8 小时前
【LeetCode热题100(69/100)】字符串解码
linux·算法·leetcode
小白程序员成长日记9 小时前
2025.11.18 力扣每日一题
算法·leetcode·职场和发展
未若君雅裁11 小时前
LeetCode 18 - 四数之和 详解笔记
java·数据结构·笔记·算法·leetcode