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/

相关推荐
alphaTao7 分钟前
LeetCode 每日一题 2026/5/18-2026/5/24
python·leetcode
摇滚侠9 分钟前
HashMap 源码解析 底层原理 面试如何回答
java·面试·职场和发展
凯瑟琳.奥古斯特13 分钟前
常见加密算法及应用
java·开发语言·网络·网络协议·职场和发展
汉克老师27 分钟前
GESP6级C++考试语法知识(二十七、广度优先搜索(二、二维BFS))
c++·算法·图论·宽度优先·广度优先搜索·gesp6级·gesp六级
此生决int27 分钟前
算法从入门到精通——位运算
数据结构·c++·算法·蓝桥杯
春栀怡铃声28 分钟前
【C++修仙录02】筑基篇:vector 使用
开发语言·c++·算法
Loli_Wolf33 分钟前
AI 原生研发闭环:从提需到线上监测,再自动回到提需
人工智能·深度学习·算法·microsoft·ai·ai编程·harness
计算机安禾37 分钟前
【算法分析与设计】第4篇:分治策略的理论框架与经典案例
数据结构·算法·排序算法
Kiling_070437 分钟前
面向对象和集合编程题 ( 二 )
java·开发语言·数据结构·算法
过期动态1 小时前
【LeetCode 热题 100】两数之和— 暴力法与哈希表法详解
java·数据结构·算法·leetcode·散列表