JSFiddle - React, Tailwind, and code Playground

by davinel

JavaScript

//var array = [ 1, 2, 3, 2, 5, 3, 4 ];
//var array = [2,5,1,2,3,4,7,7,6];
var array = [2,5,1,3,1,2,1,7,7,6];
var length = array.length;
var elem = null;
var start = [];
var end = [0];
var count = 0;
var volume = 0;
var tempVolume = 0;
var gapLenght = 0;
var i = 1;
if(array[0] > array[1]) {
    start[0] = 0;   
}
else {
    start[0] = 1;    
    i++;
}

for ( ; i < length ;i++ ) {
    if(array[i] >= array[end[count]]) {
        end[count] = i;
        if(array[i] >= array[start[count]]) {
            count++;
            end[count] = i + 1;
            start[count] = i;
        }
    }
}

for (var i = 0; i < end.length; i++) {
    tempVolume = 0;
    for(var j = start[i]+1; j < end[i]; j++) {
       tempVolume = tempVolume + array[j];
    }
    gapLenght = end[i] - start[i] - 1;
    if(array[end[i]] > array[start[i]]) {
        volume = volume + gapLenght*array[start[i]] - tempVolume;
    }
    else {
        volume = volume + gapLenght*array[end[i]] - tempVolume;        
    }
    
}
alert(volume);