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/

相关推荐
老鱼说AI16 分钟前
算法基础教学第一步:数据结构
数据结构·python·算法
8***293127 分钟前
Go基础之环境搭建
开发语言·后端·golang
提笔了无痕30 分钟前
go web开发表单知识及表单处理详解
前端·后端·golang·web
Jing_Rainbow31 分钟前
【LeetCode Hot100 刷题日记(19/100)】54. 螺旋矩阵 —— 数组、矩阵、模拟、双指针、层序遍历🌀
算法·面试·程序员
美团测试工程师43 分钟前
最常见的软件测试面试题及答案
软件测试·面试·职场和发展
地平线开发者2 小时前
征程 6 | linear 高精度输出配置方式
算法·自动驾驶
小尧嵌入式2 小时前
C++基础语法总结
开发语言·c++·stm32·单片机·嵌入式硬件·算法
white-persist2 小时前
【攻防世界】reverse | IgniteMe 详细题解 WP
c语言·汇编·数据结构·c++·python·算法·网络安全
稚辉君.MCA_P8_Java2 小时前
Gemini永久会员 归并排序(Merge Sort) 基于分治思想(Divide and Conquer)的高效排序算法
java·linux·算法·spring·排序算法
地平线开发者2 小时前
征程 6 | QAT 新版 qconfig 量化模板使用教程
算法·自动驾驶