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。

相关推荐
浅念-1 小时前
递归解题指南:LeetCode经典题全解析
数据结构·算法·leetcode·职场和发展·排序算法·深度优先·递归
洛水水2 小时前
【力扣100题】33.验证二叉搜索树
算法·leetcode·职场和发展
如竟没有火炬10 小时前
接雨水22
数据结构·python·算法·leetcode·散列表
洛水水11 小时前
【力扣100题】34.二叉搜索树中第K小的元素
c++·算法·leetcode
_深海凉_11 小时前
LeetCode热题100-翻转二叉树
算法·leetcode·职场和发展
小雅痞13 小时前
[Java][Leetcode simple] 205. 同构字符串
java·算法·leetcode
焜昱错眩..14 小时前
力扣周赛难题 3906.统计网格路径中好整数的数目——自我拆解学习与分析(数位dp上下界的奇妙)
学习·算法·leetcode·动态规划
兰令水14 小时前
topcode【随机算法题】【2026.5.14打卡-java版本】
java·算法·leetcode
故事和你9114 小时前
洛谷-【图论2-1】树2
开发语言·数据结构·c++·算法·动态规划·图论
小辉同志14 小时前
72. 编辑距离
leetcode·多维动态规划