Java: encontrar el número entero menos común en una matriz ordenada
Me asignaron un problema de programación para la tarea, y estoy en un punto muerto. Hoy he buscado durante horas tratando de encontrar una respuesta, y parece que nunca se ha preguntado aquí. Básicamente necesito encontrar el reverso del modo de la matriz. Aquí está la pregunta que me pidieron para encontrar la solución a:
LeastFrequent: genera el entero que se produce con menor frecuencia junto con su recuento de ocurrencias de una lista de 10 enteros ingresados desde System.in. Si hay varios enteros en la lista con menos frecuencia, genere cualquier entero que ocurra con menos frecuencia. Nombre a su clase LeastFrequent. Puede suponer que los 10 enteros están en el rango de -100 a 100 inclusive.
Aquí está el código que tengo hasta ahora:
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");
}
}
Básicamente, pensé que si podía encontrar el modo, podría invertir el algoritmo y encontrar el menos común, pero eso no funciona porque siempre dice cero.
¿Alguien tiene alguna idea?
¡¡Por favor ayuda!!