Escriba un método de modo en Java para encontrar el elemento más frecuente en una matriz

La pregunta es:

Escriba un método llamado modo que devuelva el elemento más frecuente de una matriz de enteros. Supongamos que la matriz tiene al menos un elemento y que cada elemento de la matriz tiene un valor entre 0 y 100 inclusive. Romper los lazos eligiendo el valor más bajo.

Por ejemplo, si la matriz pasada contiene los valores {27, 15, 15, 11, 27}, su método debería devolver 15. (Consejo: es posible que desee ver el programa Tally de este capítulo para tener una idea de Cómo resolver este problema.)

A continuación se muestra mi código que casi funciona, excepto para matrices de un solo elemento.

public static int mode(int[] n)
{
    Arrays.sort(n);
    
    int count2 = 0;
    int count1 = 0;
    int pupular1 =0;
    int popular2 =0;


    for (int i = 0; i < n.length; i++)
    {
            pupular1 = n[i];
            count1 = 0;    //see edit

        for (int j = i + 1; j < n.length; j++)
        {
            if (pupular1 == n[j]) count1++;
        }

        if (count1 > count2)
        {
                popular2 = pupular1;
                count2 = count1;
        }

        else if(count1 == count2)
        {
            popular2 = Math.min(popular2, pupular1);
        }
    }

    return popular2;
}

Editar: finalmente lo descubrí. Cambiadocount1 = 0; acount1 = 1; ¡Todo funciona ahora!

Respuestas a la pregunta(14)

Su respuesta a la pregunta