Task
Given array of integers, find the maximal possible sum of some of its k
consecutive elements.
Example
For inputArray = [2, 3, 5, 1, 6]
and k = 2
, the output should be
arrayMaxConsecutiveSum(inputArray, k) = 8
.
All possible sums of 2
consecutive elements are:
2 + 3 = 5
;3 + 5 = 8
;5 + 1 = 6
;1 + 6 = 7
.
Thus, the answer is8
.
Input/Output
-
[execution time limit]
4 seconds (py3) -
[input] array.integer inputArray
Array of positive integers.
Guaranteed constraints:3 ≤ inputArray.length ≤ 105
,1 ≤ inputArray[i] ≤ 1000
. -
[input] integer k
An integer (not greater than the length ofinputArray
).
Guaranteed constraints:1 ≤ k ≤ inputArray.length
. -
[output] integer
The maximal possible sum.
My Solution
def arrayMaxConsecutiveSum(inputArray, k):
curSum = sum(inputArray[:k])
maxSum = curSum
for i in range(len(inputArray) - k):
curSum += inputArray[k + i] - inputArray[i]
if curSum > maxSum:
maxSum = curSum
return maxSum