Napisz metodę trybu w Javie, aby znaleźć najczęściej występujący element w tablicy

Pytanie brzmi:

Napisz metodę zwaną trybem, która zwraca najczęściej występujący element tablicy liczb całkowitych. Załóżmy, że tablica zawiera co najmniej jeden element i że każdy element tablicy ma wartość od 0 do 100 włącznie. Przerwij krawaty, wybierając niższą wartość.

Na przykład, jeśli przekazana tablica zawiera wartości {27, 15, 15, 11, 27}, metoda powinna zwrócić 15. (Podpowiedź: Możesz przyjrzeć się programowi Tally z wcześniejszego rozdziału, aby dowiedzieć się o jak rozwiązać ten problem.)

Poniżej znajduje się mój kod, który prawie działa, z wyjątkiem jednowierszowych tablic

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;
}

Edytować: w końcu to zrozumiał. Zmienionocount1 = 0; docount1 = 1; wszystko działa teraz!

questionAnswers(14)

yourAnswerToTheQuestion