Equilibrium Index
Write a function: function solution(A); that, given a zero-indexed array A consisting of N integers, returns any of its equilibrium indices. The function should return −1 if no equilibrium index exists.
by Hugh Chapman
HTML
<div id="Result"></div>
JavaScript
function solution(A) {
var rside = 0;
var lside = 0;
var eqTest = -1;
if (A === null) {
return eqTest;
} else if (A.length === 0) {
return eqTest;
} else {
// sum of the array
for (var i = 0; i < A.length; i ++) {
rside += A[i];
}
// Traverse the array, looking for the first equilibrium
for (i = 0; i < A.length; i++) {
var temp = rside - A[i];
console.log(temp);
if (lside == temp) {
// We have found a solution at the i-th element
eqTest = i;
break;
} else {
// Prepare for next comparison
lside += A[i];
rside = temp;
}
}
// Return the result
return eqTest;
}
}
document.querySelector('#Result').textContent = solution([-1,3,-4,5,1,-6,2,1]).toString();