LeetCode讲解篇之1749. 任意子数组和的绝对值的最大值

文章目录

题目描述

题解思路

这个我只需要求子数组和的最小值相反数和子数组和的最大值,本题答案为二者的最大值

设数组maxDp中第i号元素表示以nums[i]为结尾的子数组和的最大值

设数组minDp中第i号元素表示以nums[i]为结尾的子数组和的最小值

其中maxDp[i] = max(maxDp[i - 1], 0) + nums[i]

其中minDp[i] = min(minDp[i - 1], 0) + nums[i]

题解代码

go 复制代码
func maxAbsoluteSum(nums []int) int {
    n := len(nums)
    // maxSum表示以i - 1结尾的子数组的最大和,minSum表示以i - 1结尾的子数组的最小和
    maxSum, minSum := 0, 0
    // maxAns表示最大子数组和,minAns表示最小子数组和
    maxAns, minAns := 0, 0
    for i := 0; i < n; i++ {
        maxSum = max(maxSum, 0) + nums[i]
        minSum = min(minSum, 0) + nums[i]
        maxAns = max(maxAns, maxSum)
        minAns = min(minAns, minSum)
    }

    return max(maxAns, -minAns)
}

题解链接

https://leetcode.cn/problems/maximum-absolute-sum-of-any-subarray/

相关推荐
LCG元34 分钟前
【面试问题】JIT 是什么?和 JVM 什么关系?
面试·职场和发展
XH华2 小时前
初识C语言之二维数组(下)
c语言·算法
南宫生3 小时前
力扣-图论-17【算法学习day.67】
java·学习·算法·leetcode·图论
不想当程序猿_3 小时前
【蓝桥杯每日一题】求和——前缀和
算法·前缀和·蓝桥杯
落魄君子3 小时前
GA-BP分类-遗传算法(Genetic Algorithm)和反向传播算法(Backpropagation)
算法·分类·数据挖掘
菜鸡中的奋斗鸡→挣扎鸡3 小时前
滑动窗口 + 算法复习
数据结构·算法
Lenyiin3 小时前
第146场双周赛:统计符合条件长度为3的子数组数目、统计异或值为给定值的路径数目、判断网格图能否被切割成块、唯一中间众数子序列 Ⅰ
c++·算法·leetcode·周赛·lenyiin
郭wes代码4 小时前
Cmd命令大全(万字详细版)
python·算法·小程序
scan7244 小时前
LILAC采样算法
人工智能·算法·机器学习
菌菌的快乐生活4 小时前
理解支持向量机
算法·机器学习·支持向量机