Java - Нахождение наименьшего общего числа в отсортированном массиве
Мне поставили задачу программирования для домашней работы, и я стою на месте. Я искал часы сегодня, пытаясь найти ответ, и, кажется, его здесь никогда не спрашивали. Мне в основном нужно найти реверс режима массива. Вот вопрос, который мне задали, чтобы найти решение:
LeastFrequent - выводит целое число, которое встречается реже всего, вместе с его количеством вхождений из списка из 10 целых чисел, введенного из System.in. Если несколько целых чисел в списке встречаются реже всего, выведите любое целое число, которое встречается реже всего. Назовите свой класс LeastFrequent. Можно предположить, что все 10 целых чисел находятся в диапазоне от -100 до 100 включительно.
Вот код, который у меня есть:
package leastfrequent;
import java.util.*;
public class LeastFrequent
{
private static int[] arr = new int[10];
private static int minValue;
private static int minCount;
public static void leastCommon()
{
for(int i = 0; i < arr.length; i++)
{
int count = 0;
for(int j = 0; j < arr.length; j++)
{
if(arr[j] == arr[i])
{
count++;
}
}
if(count > minCount)
{
minCount = count;
minValue = arr[i];
}
}
}
public static void main(String[] args)
{
Scanner stdin = new Scanner(System.in);
System.out.print("numbers: ");
for(int i = 0; i < arr.length; i++)
{
arr[i] = stdin.nextInt();
}
Arrays.sort(arr);
leastCommon();
System.out.println("least frequent: " + minValue + " occurs " + minCount + " times");
}
}
По сути, я подумал, что если бы я мог найти режим, я мог бы изменить этот алгоритм и найти наименее распространенный, но это не работает, потому что он всегда читает ноль.
У кого-нибудь есть какие-либо идеи?
Пожалуйста помоги!!