1749. Maximum Absolute Sum of Any Subarray

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class Solution {
public int maxAbsoluteSum(int[] nums) {
int n = nums.length;

int[] prefixSums = new int[n + 1];
for (int i = 1; i < prefixSums.length; i++) {
prefixSums[i] = prefixSums[i - 1] + nums[i - 1];
}

int res = 0;
int min = 0, max = 0;
for (int i = 1; i <= n; i++) {
res = Math.max(res, Math.abs(prefixSums[i] - min));
res = Math.max(res, Math.abs(prefixSums[i] - max));
min = Math.min(min, prefixSums[i]);
max = Math.max(max, prefixSums[i]);
}

return res;
}
}

References

1749. Maximum Absolute Sum of Any Subarray