JSFiddle - React, Tailwind, and code Playground
JavaScript
console.clear();
function findVol(arr){
total = [];
for(i=0;i<arr.length-1;i++){
if(arr[i]>arr[i+1]){
nb = nextBiggest(arr,i)
peak = arr[i]<arr[nb]?i:nb
if(arr[nb]>arr[nb-1]){
total.push(0)
for(i;i<nb-1;i++){
total[total.length-1]+=arr[peak] - arr[i+1]
}
}
}
}
return total;
}
function nextBiggest(arr,i){
next = i+1;
for(j=i+2;j<arr.length;j++){
if(arr[j]>=arr[i])
return j;
if(arr[j]> arr[next])
next = j;
}
return next;
}
var input1 = [2, 5, 1, 2, 3, 4, 7, 7, 6];
var input2 = [2, 5, 1, 3, 1, 2, 1, 7, 7, 6];
var input3 = [1, 2, 1, 1, 1, 1, 2, 1, 1, 2];
var input4 = [2, 6, 1, 2, 3, 4, 4, 5, 4];
console.log('input1', findVol(input1));
console.log('input2', findVol(input2));
console.log('input3', findVol(input3));
console.log('input4', findVol(input4));