Подсчет повторяющихся элементов в целочисленном массиве
У меня есть целочисленный массивcrr_array
и я хочу посчитать элементы, которые встречаются неоднократно. Сначала я читаю размер массива и инициализирую его числами, считанными из консоли. В массивеnew_array
Я храню элементы, которые повторяются. Массивtimes
хранит количество последовательных вхождений элемента. Затем я пытаюсь найти повторяющиеся последовательности и распечатать их в определенном формате. Однако это не работает.
// 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]);
}
Я хочу, чтобы вывод выглядел так:
There are <count_of_repeated_element_sequences> repeated numbers
<repeated_element>: <count> times
...
Например:
There are 3 repeated numbers:
22: 2 times
4: 3 times
1: 2 times
Как я могу найти повторяющиеся элементы и их количество? Как я могу распечатать их, как показано выше?