Find minimum sum subarray of given size k
by Alex Myronov
JavaScript
function minSum(arr, size) {
let sum = 0
let sumIndexLeft = 0
let leftIndex = 0
let rightIndex = 0
while (rightIndex < size) {
sum += arr[rightIndex++]
}
rightIndex = size - 1
while (rightIndex < arr.length) {
leftIndex++
rightIndex++
let newSum = 0
for (let i = leftIndex; i <= rightIndex; i++) {
newSum += arr[i]
}
if (sum > newSum) {
sumIndexLeft = leftIndex
sum = newSum
}
}
return {
sum,
sumIndexLeft,
sumIndexRight: sumIndexLeft + size - 1
}
}
console.log(minSum([10, 4, 2, 5, 6, 3, 8, 1], 3))