How to find the maximum repeating number in array with JavaScript

1 Answer

0 votes
function MaxRepertingElement(array) {
    const size = array.length;
    for (let i = 0; i < size; i++) {
        array[array[i] % size] += size;
        // array[i] % size = 3 4 8 3 8 2 3 9 4 4 4 7 7 7 4 
    	// array = [3, 4, 23, 48, 83, 2, 3, 54, 34, 19, 4, 7, 7, 7, 4] 
    }
    
    let max_element = -Number.MAX_VALUE;
    let repeating = 0;
        
    for (let i = 0; i < size; i++) {
        if (array[i] > max_element) {
            max_element = array[i];
            repeating = i;
        }
    }
    
    for (let i = 0; i < size; i++) {
        array[i] = array[i] % size;
         // array = [3, 4, 8, 3, 8, 2, 3, 9, 4, 4, 4, 7, 7, 7, 4] // return original values
    }
    
    return repeating;
}
        
const array = [3, 4, 8, 3, 8, 2, 3, 9, 4, 4, 4, 7, 7, 7, 4];

console.log(MaxRepertingElement(array));




/*
run:

4

*/

 



answered Aug 28, 2022 by avibootz
edited Aug 28, 2022 by avibootz

Related questions

1 answer 121 views
1 answer 102 views
3 answers 179 views
2 answers 138 views
1 answer 109 views
1 answer 127 views
...