type
status
date
slug
summary
tags
category
icon
password
创建时间
May 1, 2025 01:18 AM
给你一个整数数组
nums
。一个子数组 [numsl, numsl+1, ..., numsr-1, numsr]
的 和的绝对值 为 abs(numsl + numsl+1 + ... + numsr-1 + numsr)
。请你找出
nums
中 和的绝对值 最大的任意子数组(可能为空),并返回该 最大值 。abs(x)
定义如下:- 如果
x
是负整数,那么abs(x) = -x
。
- 如果
x
是非负整数,那么abs(x) = x
。
一、前缀和——1.1 前缀和基础
暴力做法
将绝对值拆分为子数组最大值和子数组最小值,然后对子数组的最大值和最小值使用绝对值处理,比较这两者的值。这样问题就转换为——在存在负数的数组中,找出子数组的最大值和最小值。
这好像是动态规划的求法,怎么用前缀和呢??????
参考 灵茶山艾府
原来很简单,只需要转换思路就可以了。
其实,不需要二重循环的,直接找出前缀和中的最大值和最小值进行计算即可。
被自己蠢哭了!!!!