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。

相关推荐
Storynone7 小时前
【Day20】LeetCode:39. 组合总和,40. 组合总和II,131. 分割回文串
python·算法·leetcode
j_xxx404_12 小时前
C++算法:前缀和与哈希表实战
数据结构·算法·leetcode
We་ct12 小时前
LeetCode 22. 括号生成:DFS回溯解法详解
前端·数据结构·算法·leetcode·typescript·深度优先·回溯
Frostnova丶14 小时前
LeetCode 3296. 使山区高度为零的最少秒数
算法·leetcode
样例过了就是过了15 小时前
LeetCode热题100 全排列
数据结构·c++·算法·leetcode·dfs
程序员夏末15 小时前
【LeetCode | 第六篇】算法笔记
笔记·算法·leetcode
Darkwanderor15 小时前
数据结构——ST表和RMQ问题
数据结构·c++·动态规划·st表·rmq问题
滴滴答滴答答16 小时前
机考刷题之 23&24&25 LeetCode 55&213&123
算法·leetcode·职场和发展
无限进步_16 小时前
【C++】只出现一次的数字 III:位运算的巧妙应用
数据结构·c++·git·算法·leetcode·github·visual studio
一叶落43817 小时前
LeetCode 74 | 搜索二维矩阵(C语言版题解)
c语言·数据结构·c++·算法·leetcode·矩阵·动态规划