leader algorithm

by Igor Cuckovic

JavaScript

var A = [4,6,6,8,8];

function leader (A) {
    
    //var length = 
    var i,leader;
    var tempObj = {};
    
    for (i = 0; i < A.length; i += 1) {
        if (!tempObj[A[i]]) {
            tempObj[A[i]] = 1;
        } 
        
        tempObj[A[i]] += 1;
        
        if (tempObj[A[i]] - 1 > A.length / 2) {
            leader = A[i];
        }
    
    }
    return leader ? leader : -1;
    
}

console.log(leader(A));