Maximum Alternating Subsequence Sum LeetCode solution in Java
1class Solution {2public long maxAlternatingSum(int[] nums) {3int n = nums.length;4long dp[][] = new long[n][2];5dp[0][0] = nums[0];6for (int i = 1; i < n; i++) {7dp[i][0] = Math.max(dp[i - 1][0], Math.max(dp[i - 1][1] + nums[i], nums[i]));8dp[i][1] = Math.max(dp[i - 1][1], Math.max(dp[i - 1][0] - nums[i], 0));9}10return Math.max(dp[n - 1][0], dp[n - 1][1]);11}12}