findRangeThatSumsTo2 = (target, stream) => {
let highIdx;
const lowIdx = stream.findIndex((firstVal, firstIdx) => {
let sum = firstVal;
const sumIdx = stream.slice(firstVal + 1).find((nextVal, nextIdx) => {
sum += nextVal;
return sum === target;
});
if (sumIdx) {
highIdx = sumIdx;
return true;
}
});
const range = stream.slice(lowIdx, highIdx + 1);
const smallest = Math.min.apply(null, range);
const largest = Math.max.apply(null, range);
return smallest + largest;
}