Lets think of an array like,
[ 2, 3, 8, 1, 12, 2, 4, 5]
In this array maximum sum of any 2 consecutive numbers is 14(12+2) and maximum sum of any 3 consecutive numbers is 21(8+1+12).
Here is a simple algorithm using Java for find the maximum sum of some consecutive numbers in an integer array. This is just a simple solution for this problem.
Feel free to add a comment if anyone has a optimized solution or anything hard to understand.
static int arrayMaxConsecutiveSum(int[] inputArray, int k) { int result = 0; int currentSum = 0; for (int i = 0; i < k - 1; i++) { currentSum += inputArray[i]; } for (int i = k - 1; i < inputArray.length; i++) { currentSum += inputArray[i] ; if (currentSum > result) { result = currentSum; } currentSum -= inputArray[i - k + 1]; } return result; }
Go to this link to find out how to implement this code in Java
No comments:
Post a Comment