diff options
author | Jack Sangdahl <[email protected]> | 2025-02-25 21:16:30 -0700 |
---|---|---|
committer | Jack Sangdahl <[email protected]> | 2025-02-25 21:16:30 -0700 |
commit | 5afeed9d77e479ea3b576ff0c10b0d5f001cc078 (patch) | |
tree | d9fe568195f20bcdeba85c8d3bc2df7cd7c710de /max_abs_sum_any_subarr.py | |
parent | 658556f3d4eaa1cdefd7009e7b6ccb3cabcd31ac (diff) | |
download | leetcode-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.py | 9 |
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__": |