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))