Contando elementos repetidos en una matriz entera
Tengo una matriz enteracrr_array
Y quiero contar los elementos, que ocurren repetidamente. Primero, leo el tamaño de la matriz y lo inicializo con números leídos desde la consola. En la matriznew_array
, Almaceno los elementos que se repiten. La matriztimes
Almacena el número de apariciones consecutivas de un elemento. Luego, trato de buscar las secuencias repetidas e imprimirlas en un formato específico. Sin embargo, no funciona.
// Get integer array size
Scanner input = new Scanner(System.in);
System.out.println("Enter array size: ");
int size = input.nextInt();
int[] crr_array = new int[size];
int[] new_array= new int[size];
int[] times = new int[size];
// Read integers from the console
System.out.println("Enter array elements: ");
for (int i = 0; i < crr_array.length; i++) {
crr_array[i] = input.nextInt();
times[i] = 1;
}
// Search for repeated elements
for (int j = 0; j < crr_array.length; j++) {
for (int i = j; i < crr_array.length; i++) {
if (crr_array[j] == crr_array[i] && j != i) {
new_array[i] = crr_array[i];
times[i]++;
}
}
}
//Printing output
for (int i = 0; i < new_array.length; i++) {
System.out.println("\t" + crr_array[i] + "\t" + new_array[i] + "\t" + times[i]);
}
Quiero que la salida se vea así:
There are <count_of_repeated_element_sequences> repeated numbers
<repeated_element>: <count> times
...
Por ejemplo:
There are 3 repeated numbers:
22: 2 times
4: 3 times
1: 2 times
¿Cómo puedo encontrar los elementos repetidos y sus cuentas? ¿Cómo puedo imprimirlos como se muestra arriba?