diff --git a/maxAlternatingSum.java b/maxAlternatingSum.java new file mode 100644 index 0000000..3ec20bc --- /dev/null +++ b/maxAlternatingSum.java @@ -0,0 +1,30 @@ +/* +Algorithm: Max Alternating Sum +-------------------------------- +Description: +Calculates the maximum alternating sum of elements in an array. +The algorithm uses dynamic programming to decide whether to add or subtract +each number to maximize the total sum. + +Time Complexity: O(n) +Space Complexity: O(1) +*/ +import java.util.*; +class Solution { + public long maxAlternatingSum(int[] nums) { + int n=nums.length; + long[] a=new long[n]; + for(int i=0;i=n-k;i--){ + sum +=a[i]; + } + return 2*sum-total; + } +}