Maximum Alternating Subsequence Sum LeetCode solution in Python

1
# Runtime: 2571 ms (Top 53.06%) | Memory: 28.4 MB (Top 82.81%)
2
class Solution:
3
def maxAlternatingSum(self, nums: List[int]) -> int:
4
ans = 0
5
direction = "down"
6
n = len(nums)
7
for i in range(n - 1):
8
if direction == "down" and nums[i] >= nums[i + 1]:
9
ans += nums[i]
10
direction = "up"
11
elif direction == "up" and nums[i] <= nums[i + 1]:
12
ans -= nums[i]
13
direction = "down"
14
if direction == "up":
15
return ans
16
return ans + nums[-1]

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0