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/

相关推荐
历程里程碑3 分钟前
普通数组----合并区间
java·数据结构·python·算法·leetcode·职场和发展·tornado
执风挽^20 分钟前
Python基础编程题2
开发语言·python·算法·visual studio code
Z9fish29 分钟前
sse哈工大C语言编程练习20
c语言·开发语言·算法
晓131335 分钟前
第六章 【C语言篇:结构体&位运算】 结构体、位运算全面解析
c语言·算法
iAkuya41 分钟前
(leetcode)力扣100 61分割回文串(回溯,动归)
算法·leetcode·职场和发展
梵刹古音43 分钟前
【C语言】 指针与数据结构操作
c语言·数据结构·算法
VT.馒头1 小时前
【力扣】2695. 包装数组
前端·javascript·算法·leetcode·职场和发展·typescript
源代码•宸1 小时前
大厂技术岗面试之谈薪资
经验分享·后端·面试·职场和发展·golang·大厂·职级水平的薪资
马猴烧酒.2 小时前
【面试八股|JVM虚拟机】JVM虚拟机常考面试题详解
jvm·面试·职场和发展
CoderCodingNo2 小时前
【GESP】C++五级练习题 luogu-P1865 A % B Problem
开发语言·c++·算法