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