ZigZag
Zig Zag Methodology
by Murali Kaliappan
JavaScript
var data1 = [4,6,4,6,4,5,4,3,7,2,8,1];
checkZigZag(data1);
function checkZigZag(data) {
var isAbove = false;
var isBelow = false;
var startIndex = 0;
var endIndex = 0;
var mean = 5;
for(var i=0;i<data.length;i++) {
var currentEle = data[i];
var isEnd = data.length -1 == i ? true : false;
if(currentEle > mean && !isAbove) {
isAbove = true;
isBelow = false;
endIndex =i;
if(isEnd && (endIndex - startIndex)+1 >= 5) {
console.log("startIndex : "+startIndex+" endIndex : "+endIndex);
}
} else if(currentEle < mean && !isBelow) {
isAbove = false;
isBelow = true;
endIndex =i;
if(isEnd && (endIndex - startIndex)+1 >= 5) {
console.log("startIndex : "+startIndex+" endIndex : "+endIndex);
}
} else {
if((endIndex - startIndex)+1 >= 5) {
console.log("startIndex : "+startIndex+" endIndex : "+endIndex);
}
startIndex = i;
endIndex = i;
isAbove = false;
isBelow = false;
}
}
}