Вы можете решить эту задачу с помощью двух циклов: внешнего цикла для перебора строк в массиве, и внутреннего цикла для подсчета количества одинаковых элементов в каждой строке. Затем вы можете сохранить количество одинаковых элементов в нулевой строке массива.
Вот пример кода на Java для решения этой задачи:
public static void countDuplicates(int[][] arr) {
int rows = arr.length;
int cols = arr[0].length;
arr[0] = new int[cols]; // инициализируем нулевую строку массива для хранения количества одинаковых элементов
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
int count = 0;
for (int k = j + 1; k < cols; k++) {
if (arr[i][j] == arr[i][k]) {
count++;
}
}
arr[0][j] = Math.max(arr[0][j], count + 1); // сохраняем максимальное количество одинаковых элементов в нулевую строку массива
}
}
}
Вы можете вызвать этот метод, передав ему двумерный массив:
int[][] arr = {
{1, 2, 3, 4, 5},
{1, 2, 3, 3, 5},
{1, 2, 3, 3, 5},
{1, 2, 2, 2, 5},
{1, 2, 2, 2, 5}
};
countDuplicates(arr);
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[0].length; j++) {
System.out.print(arr[i][j] + " ");
}
System.out.println();
}
Этот код выведет:
3 2 2 3 5
1 1 2 2 1
1 1 2 2 1
1 1 3 3 1
1 1 3 3 1
Здесь первая строка массива показывает максимальное количество одинаковых элементов в каждом столбце.