Как в двумерном масиве найти минимальный элемент по диагонали?
Смог создать и вывести двумерный массив. Как найти пока ума не приложу))
public class ProjectSample {
public static void main(String[] args) {
int[][] array = {
{1, 2, 4, 5, 6},
{1, 4, 5, 6, 7},
{4, 5, 8, 8, 6},
{5, 6, 3, 2, 1},
{1, 5, 6, 7, 8}
};
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array.length; j++) {
System.out.print(array[i][j] + " ");
}
System.out.println()
Ответы (3 шт):
Автор решения: Igor
→ Ссылка
int minDiag = array[0][0];
for(int i = 1; i < array.length; i++)
minDiag = Math.min(minDiag, array[i][i]);
Автор решения: Neuro
→ Ссылка
Для решения этой задачи нам необходимо пройтись по всем элементам диагонали и найти минимум в ней. Так как нумерация всех таких элементов array[i][i], то нам достаточно использовать один цикл и пройтись по всей диагонали.
int mins = 1000; // задаем значение заведомо больше, чем все элементы массива
for (int i = 0; i < array.length; i++) {
mins = Math.min(array[i][i], mins); // Math.min() - минимум из двух
}
System.out.print(mins);
Автор решения: Sergey Zh.
→ Ссылка
// для главной диагонали
int min = array[0][0];
for (int i = 0; i < array.length; i++) {
if (min > array[i][i]) {
min = array[i][i];
}
}
System.out.println(min);
// для побочной диагонали
int min1 = array[0][0];
for (int i = 0; i < array.length; i++) {
if (min1 > array[array.length - 1 - i][i]) {
min1 = array[array.length - 1 - i][i];
}
}
System.out.println(min1);