aboutsummaryrefslogtreecommitdiff
path: root/max_abs_sum_any_subarr.py
diff options
context:
space:
mode:
authorJack Sangdahl <[email protected]>2025-02-25 21:16:30 -0700
committerJack Sangdahl <[email protected]>2025-02-25 21:16:30 -0700
commit5afeed9d77e479ea3b576ff0c10b0d5f001cc078 (patch)
treed9fe568195f20bcdeba85c8d3bc2df7cd7c710de /max_abs_sum_any_subarr.py
parent658556f3d4eaa1cdefd7009e7b6ccb3cabcd31ac (diff)
downloadleetcode-5afeed9d77e479ea3b576ff0c10b0d5f001cc078.tar.gz
leetcode-5afeed9d77e479ea3b576ff0c10b0d5f001cc078.zip
1749. maximum absolute sum of any subarray (improvments)
Diffstat (limited to 'max_abs_sum_any_subarr.py')
-rw-r--r--max_abs_sum_any_subarr.py9
1 files changed, 2 insertions, 7 deletions
diff --git a/max_abs_sum_any_subarr.py b/max_abs_sum_any_subarr.py
index cd58866..c98f920 100644
--- a/max_abs_sum_any_subarr.py
+++ b/max_abs_sum_any_subarr.py
@@ -1,4 +1,5 @@
# 1749. Maximum Absolute Sum of Any Subarray
+from itertools import accumulate
"""
you are given an integer array 'nums'. the absolute sum of a subarray '[nums,
@@ -15,13 +16,7 @@ class Solution(object):
:type nums: List[int]
:rtype: int
"""
- n, ans = len(nums), 0
- dp = [[0, 0] for _ in range(n)]
- for i in range(n):
- dp[i][0] = min(dp[i - 1][0] + nums[i], nums[i])
- dp[i][1] = max(dp[i - 1][1] + nums[i], nums[i])
- ans = max(ans, abs(dp[i][0]), dp[i][1])
- return ans
+ return max(accumulate(nums, initial=0)) - min(accumulate(nums, initial=0))
if __name__ == "__main__":