JSFiddle - React, Tailwind, and code Playground

by Eduard Dyckman

HTML

<div id="out"></div>

JavaScript

function solution(A, M){
    var eqInd = -1;
    var arrLen = A.length;
    
    var checkEqual = function(startIndex, leftScore){
        if(startIndex === arrLen){
            return 0;
        }
        var modif = A[startIndex] === M ? 0 : 1;
        var diff = checkEqual(startIndex + 1, leftScore + (modif ^ 1));
        if(leftScore === diff + modif){
            eqInd = startIndex;
        }
        return diff + modif;
    }
    checkEqual(0, 0);
    return eqInd;
}

var dataSets = [
    [[1,2,3,5,3], 5],
    [[2,5,5,33,2,3,5], 5],
    [[0,3,5,3,2,1], 9],
    [[5,2,2,2,35,2], 2]
    ];
dataSets.forEach(function(val){
    $("#out").append("[" + val[0].join(", ") + "] | " + val[1] + " -> " + solution(val[0], val[1]) + "<br>");
});