Maximum Alternating Subsequence Sum LeetCode solution in Java

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

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0